Ich habe die SymEigsShiftSolver zur Berechnung der Eigenwerte einer großen Sparse Matrix implementiert, aber es ist mir nicht die Eigenvektoren zurückgibt. Wurde es noch nicht implementiert?Ist die SymEigsShiftSolver von Spectra nicht Eigenvektoren zurückkehren?
void Eigens::computeEigenvectors(Matrices m)
{
SparseSymShiftSolve<double> op(m.Lpl);
SymEigsShiftSolver< double, SMALLEST_MAGN, SparseSymShiftSolve<double> >
eigs(&op, k, 4, 0.0);
eigs.init();
int nconv = eigs.compute();
VectorXd evalues;
evalues.resize(k);
if(eigs.info() == SUCCESSFUL)
evalues = eigs.eigenvalues();
cout << "Eigenvalues found:\n" << evalues << endl;
cout <<"\nHere is the matrix whose columns are eigenvectors of the Laplacian Matrix \n"
<<"corresponding to these eigenvalues: \n"
<<eigs.eigenvectors()<<endl;
}
Danke, das hilft. –