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"
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.