Data Compression Program
 
  1. Purpose of the Data Compression Program
     This program performs the forward or inverse Karhunen Loeve 
     transform (KLT) in order to
   a. Compress the input or desired output vectors in a 
      training data file so that redundancy is reduced and
      smaller networks can be trained,
   b. Expand or inverse transform a file containing network 
      output vectors, so that these vectors are the same size 
      as the original uncompressed desired output vectors.
 
 
  2. Functions of the Data Compression Program
   a. Reads a KLT matrix from the hard disk or constructs one from
      a data file with a user-chosen number of features. If the
      number of output features is less than the number of input
      features, then the transform matrix is rectangular and will 
      perform compression.
   b. The compress ratio can be determined by the user from the single
      value of the autocorrelation matrix which display on the screen.

  3. Data file size
   a. Up to any number of inputs
   b. Up to any number of outputs 
 
  4. Example for KLT Transform:
   a.Forward Transform(	KLT matric is from a file, it also can caculate from data)

       Kltmatrix.txt       ! enter KLT matrix
       resultxklt.txt      ! filename for storing KLT transformed training data.
       TWOD.TRA            ! enter data filename
       15                  ! number of features per pattern including outputs 
       1  8                ! indices of first and last features to transform
       2                   ! dimension after compression
       Here, we compress the 8 input features of the non-classification
       (mapping in this case) training data file twod.tra down to 2 features.
       "15" denotes the total number of elements per pattern, which includes
       the desired outputs. The KLT matrix is to be stored 
       in file kltmatrix.txt. The output mapping training data file has 2 features.
       Now You can train a neural net using the file, two, if you like.
   
   b.Invert KLT Transform

       Kltmatrix.txt       ! enter KLT matrix
       resultxback.txt     ! filename for storing Inverse KLT transformed training data.
       TWODklt.TRA         ! enter data filename
       8                  ! dimension after decompression
       Here, we transform the compressed training data with 2 input features of the 
       training data file twodklt.tra back to 8 or user specified features using the
       transpose of the KLT matrix read from kltmatrix.txt file. The inverse KLT transformed 
       training data is to be stored in file resultxback.txt. The output mapping training 
       data file has its original features.