!include once #1035331 // EJML Include (Matrix library) static Complex[] eigenvaluesOfSymmetricMatrix(double[][] matrixData) { var matrix = new DMatrixRMaj(matrixData); var evd = new SymmetricQRAlgorithmDecomposition_DDRM(false); // false = don't need vectors if (!evd.decompose(matrix)) null; int n = evd.getNumberOfEigenvalues(); Complex[] eigenvalues = new[n]; for i to n: { var v = evd.getEigenvalue(i); eigenvalues[i] = Complex(v.real, v.imaginary); } ret eigenvalues; }