#include <vnl_sparse_symmetric_eigensystem.h>
Solve the eigenproblem
, with
symmetric and sparse. The block Lanczos algorithm is used to allow the recovery of a number of eigenvalue/eigenvector pairs from either end of the spectrum, to a required accuracy.
Uses the dnlaso routine from the LASO package of netlib.
Definition at line 29 of file vnl_sparse_symmetric_eigensystem.h.
Public Member Functions | |
| vnl_sparse_symmetric_eigensystem () | |
| ~vnl_sparse_symmetric_eigensystem () | |
| int | CalculateNPairs (vnl_sparse_matrix< double > &M, int n, bool smallest=true, long nfigures=10) |
| Here is where the fortran converted code gets called. | |
| vnl_vector< double > | get_eigenvector (int i) const |
| Return a calculated eigenvector. | |
| double | get_eigenvalue (int i) const |
| int | CalculateProduct (int n, int m, const double *p, double *q) |
| Callback from solver to calculate the product A p. | |
| int | SaveVectors (int n, int m, const double *q, int base) |
| Callback to store vectors for dnlaso. | |
| int | RestoreVectors (int n, int m, double *q, int base) |
| Callback to restore vectors for dnlaso. | |
Protected Attributes | |
| int | nvalues |
| vnl_vector< double > * | vectors |
| double * | values |
| vnl_sparse_matrix< double > * | mat |
| vcl_vector< double * > | temp_store |
|
|
Definition at line 59 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
|
Definition at line 64 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
||||||||||||||||||||
|
Here is where the fortran converted code gets called. The sparse matrix M is assumed to be symmetric. The n smallest eigenvalues and their corresponding eigenvectors are calculated if smallest is true (the default). Otherwise the n largest eigenpairs are found. The accuracy of the eigenvalues is to nfigures decimal digits. Returns 0 if successful, non-zero otherwise. Definition at line 80 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
||||||||||||||||||||
|
Callback from solver to calculate the product A p.
Definition at line 206 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
|
Definition at line 271 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
|
Return a calculated eigenvector.
Definition at line 265 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
||||||||||||||||||||
|
Callback to restore vectors for dnlaso.
Definition at line 243 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
||||||||||||||||||||
|
Callback to store vectors for dnlaso.
Definition at line 218 of file vnl_sparse_symmetric_eigensystem.cxx. |
|
|
Definition at line 55 of file vnl_sparse_symmetric_eigensystem.h. |
|
|
Definition at line 51 of file vnl_sparse_symmetric_eigensystem.h. |
|
|
Definition at line 57 of file vnl_sparse_symmetric_eigensystem.h. |
|
|
Definition at line 53 of file vnl_sparse_symmetric_eigensystem.h. |
|
|
Definition at line 52 of file vnl_sparse_symmetric_eigensystem.h. |
1.4.4