lambda-lanczos 2.1.1
Loading...
Searching...
No Matches
lambda_lanczos Namespace Reference

Namespaces

namespace  eigenpair_manager
namespace  tridiagonal
namespace  tridiagonal_impl
namespace  tridiagonal_lapack
namespace  util

Classes

class  Exponentiator
 Calculation engine for Lanczos exponentiation. More...
struct  VectorRandomInitializer
 Template class to implement random vector initializer. More...
struct  VectorRandomInitializer< std::complex< T > >
class  LambdaLanczos
 Calculation engine for Lanczos algorithm. More...

Functions

template<typename T, typename LT>
auto compute_eigenvectors (const std::vector< T > &alpha, const std::vector< T > &beta, const std::vector< std::vector< LT > > &u, const bool find_maximum, const size_t num_of_eigenvalues) -> std::vector< std::vector< decltype(T()+LT())> >
 Computes the eigenvectors from Krylov subspace information.

Function Documentation

◆ compute_eigenvectors()

template<typename T, typename LT>
auto lambda_lanczos::compute_eigenvectors ( const std::vector< T > & alpha,
const std::vector< T > & beta,
const std::vector< std::vector< LT > > & u,
const bool find_maximum,
const size_t num_of_eigenvalues )->std::vector< std::vector< decltype(T()+LT())> >
inline

Computes the eigenvectors from Krylov subspace information.

Parameters
[in]alphaDiagonal elements of the tridiagonal matrix.
[in]betaSub-diagonal elements of the tridiagonal matrix.
[in]uLanczos vectors.
[in]find_maximumTrue to calculate maximum eigenvalues. False to calculate minimum eigenvalues.
[in]num_of_eigenvaluesNumber of eigenvalues to be calculated.
Returns
Calculated eigenvectors.