code: private static void execute(File dataMatrixFile, 
                                  File affMatrixFile,
                                  int dims, File outputMatrix) 
              throws IOException {
          // Decide whether to use Matlab or Octave
          if (isMatlabAvailable())
              invokeMatlab(dataMatrixFile, affMatrixFile, dims, outputMatrix);
              // Ensure that if Matlab isn't present that we can at least use Octave
          else if (isOctaveAvailable())
              invokeOctave(dataMatrixFile, affMatrixFile, dims, outputMatrix);
          else
              throw new IllegalStateException(
                  "Cannot find Matlab or Octave to invoke LPP");
      }
docs: Executes the LPP script, thereby computing the locality preserving
  projection of the data matrix to the specified number of dimension, using
  the affinity matrix to determine locality.  The result is written to the
  output file.
  
  @param dataMatrixFile a file containing the original data points to be
  projected
  @param affMatrixFile the file containing the affinity matrix that
  connects data points in the {@code dataMatrixFile}
  @param dims the number of dimensions to which the matrix should be
  reduced
  @param outputMatrix the file to which the output matrix should be written
  in DENSE_TEXT format