code: public static double[][] getTransformedEigenvectors(DataInfo dinfo, double[][] vEigenIn) {
          Frame tempFrame = new Frame(dinfo._adaptedFrame);
          Frame eigFrame = new water.util.ArrayUtils().frame(vEigenIn);
          tempFrame.add(eigFrame);
  
          LinearAlgebraUtils.SMulTask stsk = new LinearAlgebraUtils.SMulTask(dinfo, eigFrame.numCols(),
                  dinfo._numOffsets[dinfo._numOffsets.length - 1]);   // will allocate new memory for _atq
          double[][] eigenVecs = stsk.doAll(tempFrame)._atq;
  
          if (eigFrame != null) { // delete frame to prevent leak keys.
              eigFrame.delete();
          }
  
          // need to normalize eigenvectors after multiplication by transpose(A) so that they have unit norm
          double[][] eigenVecsTranspose = transpose(eigenVecs);   // transpose will allocate memory
          double[] eigenNormsI = new double[eigenVecsTranspose.length];
          for (int vecIndex = 0; vecIndex < eigenVecsTranspose.length; vecIndex++) {
              eigenNormsI[vecIndex] = 1.0 / l2norm(eigenVecsTranspose[vecIndex]);
          }
  
          return transpose(mult(eigenVecsTranspose, eigenNormsI));
      }
docs: This function will tranform the eigenvectors calculated for a matrix T(A) to the ones calculated for
  matrix A.
  
  @param dinfo
  @param vEigenIn
  @return transformed eigenvectors