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 K-means 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 K-Means problem.
    
    
      
      LAU_NP,
      a FORTRAN90 library which
      implements heuristic algorithms for various NP-hard 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 I-th 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 center-free critera.
        
 
        - 
          TIMESTAMP prints the current YMDHMS date as a time stamp.
        
 
        - 
          TRACES computes the per-cluster 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 pseudo-random 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.