Lanczos implementation with possibility of re-orthogonalisation. More...
#include <utility>#include <boost/any.hpp>#include "inc/util/closeness.h"#include "inc/dense/dense_eigensolver.h"#include "inc/alg/iterative.h"#include "inc/dense/dense_make.h"#include "inc/dense/dense_prod.h"#include "inc/dense/dense_convenience.h"#include "inc/dense/dense_transpose.h"
Include dependency graph for classic_krylov.h:
This graph shows which files directly or indirectly include this file:Classes | |
| struct | syten::Krylov::ClassicImpl::Classic< Matrix, Vector, Solver, Ortho > |
| The ClassicKrylov struct encapsulates the Lanczos algorithm. Template Parameters are: More... | |
| struct | syten::Krylov::ClassicImpl::EigenSolver< Solver > |
| The EigenSolver struct solves matrices for their eigenvalues and eigenvectors. More... | |
| struct | syten::Krylov::ClassicImpl::ExponentialSolver< Solver > |
| The ExponentialSolver struct solves exp(prefactor*mat)*vec. More... | |
| struct | syten::Krylov::ClassicImpl::Detail::InnerProduct< Vecs > |
| The InnerProduct struct is a functor computing the inner product of the stored vector with a given vector. More... | |
| struct | syten::Krylov::ClassicImpl::OrthoMat< Lanczos >::InnerProductHelper |
| The InnerProductHelper struct provides access to the orthonormalized vectors (in a sense) More... | |
| struct | syten::Krylov::ClassicImpl::KrylovError |
| Thrown on serious errors encountered in Krylov which do not allow returning an even approximate result. More... | |
| struct | syten::Krylov::ClassicImpl::NoOrthoMat< Lanczos > |
| The NoOrthoMat struct the default behaviour of Lanczos: do not orthonormalize at all. More... | |
| struct | syten::Krylov::ClassicImpl::OrthoMat< Lanczos > |
| The OrthoMat struct implements an orthonormalization that is not 'in place' of the krylov vectors, but affects the Hamiltonian matrix <f|H|f> and thus optimizes for the number of additions see arxiv:1203.2523v3. More... | |
| struct | syten::Krylov::ClassicImpl::ReorthoMat< Lanczos > |
| The ReorthoMat struct provides orthonormalization in case the overlaps grow over SYTEN_SMALL_THRESHOLD. More... | |
| struct | syten::Krylov::ClassicImpl::StandardMat< Lanczos > |
The StandardMat struct provides orthogonalisation via the standard orthogonalise() functionality specialisable for each class. More... | |
Namespaces | |
| namespace | syten |
| Syten namespace. | |
| namespace | syten::Krylov |
| Krylov subspace methods. | |
| namespace | syten::Krylov::ClassicImpl |
| Contains the classic Krylov implementation and helper functions. | |
Functions | |
| template<typename Vecs > | |
| auto | syten::Krylov::ClassicImpl::Detail::innerProduct (Vecs const &v) |
| innerProduct is a helper function for the fuzz-free construction of InnerProduct objects More... | |
| template<typename Scalar > | |
| auto | syten::Krylov::ClassicImpl::Detail::lanczosMatImpl (std::vector< SRDef > const &a, std::vector< SRDef > const &b) |
| lanczosMatImpl returns a tridiagonal Matrix as needed in Lanczos algorithm More... | |
Lanczos implementation with possibility of re-orthogonalisation.