code: public static Matrix project(Matrix m, MatrixFile affinityMatrix,
                                   int dimensions) {        
          try {
              return execute(m, affinityMatrix, dimensions);
          } catch (IOException ioe) {
              throw new IOError(ioe);
          }        
      }
docs: Projects the rows of the input matrix into a lower dimensional subspace
  using the Locality Preserving Projection (LPP) algorithm and the affinity
  matrix as a guide to locality.
  
  @param m a matrix whose rows will be projected
  @param affinityMatrix a square matrix whose entries denote locality
  between the rows of the inputMatrix.  Note that this matrix's
  dimensions must be equal to the number of rows in the input
  matrix.
  @param dimensions the number of dimensions into which the inputMatrix
  should be projected
  
  @return a {@code Matrix} that contains the rows of {@code m} projected
  into the specified number of dimensions
  
  @throws IOError if any exception occurrs during processing