G+Smo
24.08.0
Geometry + Simulation Modules
|
Class for representing a Lanczos matrix and calculating its eigenvalues.
The Lanczos matrix is a symmetric tridiagonal matrix with diagonal delta and offdiagonal gamma.
Public Member Functions | |
gsLanczosMatrix (const std::vector< T > &gamma, const std::vector< T > &delta) | |
Constructor for the Lanczos matrix The Lanczos matrix is a symmetric tridiagonal matrix with diagonal delta and offdiagonal gamma. More... | |
gsSparseMatrix< T > | matrix () |
This function returns the Lanczos matrix as gsSparseMatrix. | |
T | maxEigenvalue (index_t maxIter=20, T tol=1.e-6) |
Calculates the largest eigenvalue. More... | |
T | minEigenvalue (index_t maxIter=20, T tol=1.e-6) |
Calculates the smallest eigenvalue. More... | |
Private Member Functions | |
std::pair< T, T > | eval (T lambda) |
Evalutates characteristic polynomial. More... | |
T | newtonIteration (T x0, index_t maxIter, T tol) |
Newton iteration for searching the zeros of the characteristic polynomial. More... | |
|
inline |
Constructor for the Lanczos matrix The Lanczos matrix is a symmetric tridiagonal matrix with diagonal delta and offdiagonal gamma.
gamma | The off diagonal (the object stores a reference to this vector) |
delta | The diagonal (the object stores a reference to this vector) |
|
inlineprivate |
Evalutates characteristic polynomial.
lambda | evaluation point |
|
inline |
Calculates the largest eigenvalue.
maxIter | The number of maximal iterations of the Newton algorithm |
tol | Tolerace for the Newton algorithm |
|
inline |
Calculates the smallest eigenvalue.
maxIter | The number of maximal iterations of the Newton algorithm |
tol | Tolerace for the Newton algorithm |
|
inlineprivate |
Newton iteration for searching the zeros of the characteristic polynomial.
x0 | the initial value |
maxIter | The number of maximal iterations of the Newton algorithm |
tol | Tolerace for the Newton algorithm |