대용량 희소 행렬의 고유 값 계산을 위해 SymEigsShiftSolver를 구현했지만 고유 벡터를 반환하지 않습니다. 아직 구현되지 않았습니까?Spectra의 SymEigsShiftSolver가 고유 벡터를 반환하지 않습니까?
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;
}
감사합니다. –