SPAETH
Cluster Analysis Tools
SPAETH
is a FORTRAN90 library which
analyzes data
by grouping it into clusters.
Licensing:
The computer code and data files made available on this web page
are distributed under
the GNU LGPL license.
Languages:
SPAETH is available in
a FORTRAN90 version.
Related Data and Programs:
ASA058,
a FORTRAN90 library which
implements the Kmeans algorithm of Sparks.
ASA136,
a FORTRAN90 library which
implements the Hartigan and Wong clustering algorithm.
CITIES,
a dataset directory which
contains sets of information about cities and the distances
between them;
CITIES,
a FORTRAN90 library which
handles various problems associated with a set of "cities" on a map.
KMEANS,
a FORTRAN90 library which
contains several different algorithms for the KMeans problem.
LAU_NP,
a FORTRAN90 library which
implements heuristic algorithms for various NPhard combinatorial problems.
POINT_MERGE,
a FORTRAN90 library which
considers N points in M dimensional space, and counts or indexes
the unique or "tolerably unique" items.
SPAETH,
a dataset directory which
contains datasets for cluster analysis;
SPAETH2,
a FORTRAN90 library which
can cluster data according to various principles.
SPAETH2,
a dataset directory which
contains datasets for cluster analysis;
Reference:

Helmuth Spaeth,
Cluster Dissection and Analysis,
Theory, FORTRAN Programs, Examples,
Ellis Horwood, 1985,
QA278 S68213.

Helmuth Spaeth,
Cluster Analysis Algorithms
for Data Reduction and Classification of Objects,
Ellis Horwood, 1980,
QA278 S6813.
Source Code:
Examples and Tests:
List of Routines:

BVPEXM implements the exchange algorithm on binary data for the L1 criterion.

CH_CAP capitalizes a single character.

CH_EQI is a case insensitive comparison of two characters for equality.

CH_TO_DIGIT returns the integer value of a base 10 digit.

CLREXM implements the exchange algorithm for clusterwise linear regression.

CLUSTER_D_SHOW makes a typewriter plot of points with associated labels.

CLUSTER_D_PRINT prints out the cluster information.

DATA_D_READ reads a real data set stored in a file.

DATA_D_SHOW makes a typewriter plot of a real data set.

DATA_D_WRITE writes a real data set into a file.

DATA_D2_READ reads a data set of pairs of real numbers stored in a file.

DATA_D2_WRITE writes a data set of pairs of real numbers into a file.

DATA_I_PRINT prints an integer matrix.

DATA_I_READ reads an integer data set stored in a file.

DATA_I_SHOW makes a typewriter plot of an integer data set.

DATA_SIZE counts the size of a data set stored in a file.

DETEXM implements the exchange algorithm for the determinant criterion.

DISTW computes the squared generalized distance of points from centers.

DWBEXM implements the exchange method for the adaptive distance criterion.

GET_UNIT returns a free FORTRAN unit number.

I4_TO_A returns the Ith alphabetic character.

INEXCL computes auxilliary arrays F, T and R used to control exchanges.

LDLT computes a Cholesky decomposition of the matrix A.

MEANS computes the mean vectors for a given partition.

MEDIAN computes quantities needed for the OVPEXM objective function.

OVPEXM implements the exchange algorithm for the L1 criterion.

OVREXM implements the exchange algorithm for the L1 criterion.

OVSEXM implements the exchange algorithm for the L1 criterion.

R8MAT_PRINT prints an R8MAT.

RMAT_PRINT_SOME prints some of an R8MAT.

RANDP randomly partitions a set of M items into N clusters.

S_TO_I4 reads an integer value from a string.

S_TO_R8 reads a real number from a string.

S_WORD_COUNT counts the number of "words" in a string.

TIHEXM implements the exchange algorithm for centerfree critera.

TIMESTAMP prints the current YMDHMS date as a time stamp.

TRACES computes the percluster and total variances.

TRAFOR standardizes a data matrix.

TRWEXM implements the exchange method for the variance criterion.

TRWMDM implements the minimal distance method for the variance criterion.

UPDATE updates the Cholesky decomposition of a matrix.

URAND returns a pseudorandom number uniformly distributed in [0,1].

WJSCAT calculates the scatter matrix for a given cluster.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 27 November 2006.