CLUSTER_ENERGY - Seek Minimal Cluster Energy
CLUSTER_ENERGY tries to handle the problem of minimal
energy clustering. Specifically, suppose we are given a set of
data points in NUM_DIM dimensional space. Suppose we are told to use
C_NUM clusters. Each cluster is to be represented by a CENTER
point. Each data point is to be assigned to a cluster. The
total energy is the sum of the cluster energies, and the energy
of a cluster is the sum of the squares of the distance of each
data point to its center point.
This code allows the user to specify a dimension, the number of
data points, the range of the data, a range of cluster values to
try, and the number of cluster iterations to carry out. It then
tries to compute the minimal cluster energy for the given data,
and the various numbers of clusters.
Files you may copy include:
The list of routines includes:
-
CLUSTER_ENERGY computes the minimal cluster energy for a set of data.
-
CLUSTER_ITERATION seeks the minimal energy of a cluster of a given size.
-
ENERGY computes the energy of a given clustering.
-
I_INPUT prints a prompt string and reads an integer from the user.
-
I_RANDOM returns a random integer in a given range.
-
I_RANGE_INPUT reads a pair of integers from the user, representing a range.
-
INPUT_CHECK performs some simple checks on the input data.
-
INPUT_GET gets the value of certain input quantities from the user.
-
INPUT_PRINT prints the value of the input quantities.
-
NEAREST_POINT finds the center point nearest a data point.
-
POINT_GENERATE generates data points for the problem.
-
POINT_PRINT prints out the values of the data points.
-
R_RANDOM returns a random real in a given range.
-
RANDOM_INITIALIZE initializes the FORTRAN 90 random number seed.
-
RVEC_RANGE_INPUT reads two real vectors from the user, representing a range.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
Return to the FORTRAN software page.
Last revised on 09 August 2001.