code: public static EigenDecomposition_F64<DMatrixRMaj> eig(int matrixSize , boolean computeVectors ,
                                                            boolean isSymmetric ) {
          if( isSymmetric ) {
              TridiagonalSimilarDecomposition_F64<DMatrixRMaj> decomp = DecompositionFactory_DDRM.tridiagonal(matrixSize);
              return new SymmetricQRAlgorithmDecomposition_DDRM(decomp,computeVectors);
          } else
              return new WatchedDoubleStepQRDecomposition_DDRM(computeVectors);
      }
docs: <p>
  Returns an {@link EigenDecomposition} which is specialized for symmetric matrices or the general problem.
  </p>
  
  @param matrixSize Number of rows and columns that the returned decomposition is optimized for.
  @param computeVectors Should it compute the eigenvectors or just eigenvalues.
  @param isSymmetric If true then the returned algorithm is specialized only for symmetric matrices, if false
  then a general purpose algorithm is returned.
  @return EVD for any matrix.