public Matrix[] eig() { DenseDoubleEigenvalueDecomposition eig = new DenseDoubleEigenvalueDecomposition(matrix); Matrix v = new ParallelColtDenseDoubleMatrix2D(eig.getV()); Matrix d = new ParallelColtDenseDoubleMatrix2D(eig.getD()); return new Matrix[] { v, d }; }
buf.append(String.valueOf(this.getRealEigenvalues())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getImagEigenvalues())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getD())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getV())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage());
@Override public long process(BenchmarkMatrix[] inputs, BenchmarkMatrix[] outputs, long numTrials) { DoubleMatrix2D matA = inputs[0].getOriginal(); DenseDoubleAlgebra alg = new DenseDoubleAlgebra(); DoubleMatrix2D D = null; DoubleMatrix2D V = null; long prev = System.nanoTime(); for( long i = 0; i < numTrials; i++ ) { DenseDoubleEigenvalueDecomposition e = alg.eig(matA); D = e.getD(); V = e.getV(); } long elapsedTime = System.nanoTime()-prev; if( outputs != null ) { outputs[0] = new PColtBenchmarkMatrix(D); outputs[1] = new PColtBenchmarkMatrix(V); } return elapsedTime; } }
eig = new DenseDoubleEigenvalueDecomposition(matrix); } catch (IllegalArgumentException exc) { buf.append("\n\n" + constructionException + " EigenvalueDecomposition: " + exc.getMessage()); buf.append("\n\n" + eig.toString());
/** * Constructs and returns the Eigenvalue-decomposition of the given matrix. */ public DenseDoubleEigenvalueDecomposition eig(DoubleMatrix2D matrix) { return new DenseDoubleEigenvalueDecomposition(matrix); }
/** * Returns the eigenvalues of the laplacian matrix of the network. * * @return Eigenvalues of the laplacian matrix */ private double[] getLaplacianMatrixEigenvalues() { if (laplacianMatrixEigenvalues == null) { DenseDoubleAlgebra alg = new DenseDoubleAlgebra(); DenseDoubleEigenvalueDecomposition eig = alg.eig(getLaplacianMatrix()); laplacianMatrixEigenvalues = eig.getRealEigenvalues().toArray(); DoubleUtils.sort(laplacianMatrixEigenvalues, Constants.OrderingType.ASCENDING); } return laplacianMatrixEigenvalues; }
H[n - 1][n] = -(H[n][n] - p) / H[n][n - 1]; } else { cdiv(0.0, -H[n - 1][n], H[n - 1][n - 1] - p, q); H[n - 1][n - 1] = cdivr; H[n - 1][n] = cdivi; l = i; if (e[i] == 0) { cdiv(-ra, -sa, w, q); H[i][n - 1] = cdivr; H[i][n] = cdivi; vr = eps * norm * (Math.abs(w) + Math.abs(q) + Math.abs(x) + Math.abs(y) + Math.abs(z)); cdiv(x * r - z * ra + q * sa, x * s - z * sa - q * ra, vr, vi); H[i][n - 1] = cdivr; H[i][n] = cdivi; H[i + 1][n] = (-sa - w * H[i][n] - q * H[i][n - 1]) / x; } else { cdiv(-r - y * H[i][n - 1], -s - y * H[i][n], z, q); H[i + 1][n - 1] = cdivr; H[i + 1][n] = cdivi;
buf.append(String.valueOf(this.getRealEigenvalues())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getImagEigenvalues())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getD())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage()); buf.append(String.valueOf(this.getV())); } catch (IllegalArgumentException exc) { buf.append(unknown + exc.getMessage());
eig = new DenseDoubleEigenvalueDecomposition(matrix); } catch (IllegalArgumentException exc) { buf.append("\n\n" + constructionException + " EigenvalueDecomposition: " + exc.getMessage()); buf.append("\n\n" + eig.toString());
/** * Constructs and returns the Eigenvalue-decomposition of the given matrix. */ public DenseDoubleEigenvalueDecomposition eig(DoubleMatrix2D matrix) { return new DenseDoubleEigenvalueDecomposition(matrix); }
/** * Returns the eigenvalues of the adjacency matrix. * * @return Eigenvalues of the adjacency matrix */ private double[] getAdjacencyMatrixEigenvalues() { if (adjacencyMatrixEigenvalues == null) { DoubleMatrix2D A_nn = getAdjacencyMatrix().copy(); A_nn.assign(A_nn.viewDice(), DoubleFunctions.max); DenseDoubleAlgebra alg = new DenseDoubleAlgebra(); DenseDoubleEigenvalueDecomposition eig = alg.eig(A_nn); adjacencyMatrixEigenvalues = eig.getRealEigenvalues().toArray(); DoubleUtils.sort(adjacencyMatrixEigenvalues, Constants.OrderingType.ASCENDING); } return adjacencyMatrixEigenvalues; }
H[n - 1][n] = -(H[n][n] - p) / H[n][n - 1]; } else { cdiv(0.0, -H[n - 1][n], H[n - 1][n - 1] - p, q); H[n - 1][n - 1] = cdivr; H[n - 1][n] = cdivi; l = i; if (e[i] == 0) { cdiv(-ra, -sa, w, q); H[i][n - 1] = cdivr; H[i][n] = cdivi; vr = eps * norm * (Math.abs(w) + Math.abs(q) + Math.abs(x) + Math.abs(y) + Math.abs(z)); cdiv(x * r - z * ra + q * sa, x * s - z * sa - q * ra, vr, vi); H[i][n - 1] = cdivr; H[i][n] = cdivi; H[i + 1][n] = (-sa - w * H[i][n] - q * H[i][n - 1]) / x; } else { cdiv(-r - y * H[i][n - 1], -s - y * H[i][n], z, q); H[i + 1][n - 1] = cdivr; H[i + 1][n] = cdivi;
public Matrix[] eig() { DenseDoubleEigenvalueDecomposition eig = new DenseDoubleEigenvalueDecomposition(matrix); Matrix v = new ParallelColtDenseDoubleMatrix2D(eig.getV()); Matrix d = new ParallelColtDenseDoubleMatrix2D(eig.getD()); return new Matrix[] { v, d }; }