code: private static Matrix execute(Matrix dataMatrix, MatrixFile affMatrixFile,
                                    int dims) throws IOException {
          // Write the input matrix to a file for Matlab/Octave to use
          File mInput = File.createTempFile("lpp-input-data-matrix",".dat");
          mInput.deleteOnExit();
          MatrixIO.writeMatrix(dataMatrix, mInput, MatrixIO.Format.MATLAB_SPARSE);        
  
          // Create an output matrix to hold the results of the computation from
          // Matlab until they can be read back into memory
          File output = File.createTempFile("lpp-output-matrix",".dat");
  
          // Exceute the LPP code
          execute(mInput, affMatrixFile.getFile(), dims, output);
  
          // Upon finishing, read the matrix back into memory.
          return MatrixIO.readMatrix(output, MatrixIO.Format.DENSE_TEXT);
      }
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, and returning the result as a
  {@link Matrix}.
  
  @param dataMatrix a matrix where each row is a 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