code: public static FloatMatrix[] symmetricEigenvectors(FloatMatrix A) {
          A.assertSquare();
          FloatMatrix eigenvalues = new FloatMatrix(A.rows);
          FloatMatrix eigenvectors = A.dup();
          int isuppz[] = new int[2 * A.rows];
          SimpleBlas.syevr('V', 'A', 'U', A.dup(), 0, 0, 0, 0, 0, eigenvalues, eigenvectors, isuppz);
          return new FloatMatrix[]{eigenvectors, FloatMatrix.diag(eigenvalues)};
      }
docs: Computes the eigenvalues and eigenvectors for a symmetric matrix.
  
  @return an array of FloatMatrix objects containing the eigenvectors
  stored as the columns of the first matrix, and the eigenvalues as
  diagonal elements of the second matrix.