GQCP
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
GQCP::EigenproblemEnvironment< _Scalar > Class Template Reference

#include <EigenproblemEnvironment.hpp>

Collaboration diagram for GQCP::EigenproblemEnvironment< _Scalar >:
Collaboration graph

Public Types

using Scalar = _Scalar
 

Public Member Functions

 EigenproblemEnvironment (const SquareMatrix< Scalar > &A)
 
 EigenproblemEnvironment (const VectorFunction< Scalar > &matrix_vector_product_function, const VectorX< Scalar > &diagonal, const MatrixX< Scalar > &V)
 
std::vector< Eigenpair< double, Scalar > > eigenpairs (const size_t number_of_requested_eigenpairs=1) const
 

Static Public Member Functions

static EigenproblemEnvironment Dense (const SquareMatrix< Scalar > &A)
 
static EigenproblemEnvironment Iterative (const VectorFunction< Scalar > &matrix_vector_product_function, const VectorX< Scalar > &diagonal, const MatrixX< Scalar > &V)
 
static EigenproblemEnvironment Iterative (const SquareMatrix< Scalar > &A, const MatrixX< Scalar > &V)
 

Public Attributes

VectorFunction< Scalarmatrix_vector_product_function
 
SquareMatrix< ScalarA
 
VectorX< Scalardiagonal
 
size_t dimension
 
VectorX< double > eigenvalues
 
MatrixX< Scalareigenvectors
 
SquareMatrix< ScalarS
 
VectorX< double > Lambda
 
MatrixX< ScalarZ
 
MatrixX< ScalarV
 
MatrixX< ScalarVA
 
MatrixX< ScalarX
 
MatrixX< ScalarR
 
MatrixX< ScalarDelta
 

Detailed Description

template<typename _Scalar>
class GQCP::EigenproblemEnvironment< _Scalar >

An environment used to solve eigenvalue problems for self-adjoint matrices.

Template Parameters
_ScalarThe scalar type of the matrix elements: real or complex.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
using GQCP::EigenproblemEnvironment< _Scalar >::Scalar = _Scalar

Constructor & Destructor Documentation

◆ EigenproblemEnvironment() [1/2]

template<typename _Scalar >
GQCP::EigenproblemEnvironment< _Scalar >::EigenproblemEnvironment ( const SquareMatrix< Scalar > &  A)
inline
Parameters
AThe matrix whose eigenvalue problem should be solved.

◆ EigenproblemEnvironment() [2/2]

template<typename _Scalar >
GQCP::EigenproblemEnvironment< _Scalar >::EigenproblemEnvironment ( const VectorFunction< Scalar > &  matrix_vector_product_function,
const VectorX< Scalar > &  diagonal,
const MatrixX< Scalar > &  V 
)
inline
Parameters
matrix_vector_productA vector function that returns the matrix-vector product (i.e. the matrix-vector product representation of the matrix).
diagonalThe diagonal of the matrix whose eigenvalue problem should be solved.

Member Function Documentation

◆ Dense()

template<typename _Scalar >
static EigenproblemEnvironment GQCP::EigenproblemEnvironment< _Scalar >::Dense ( const SquareMatrix< Scalar > &  A)
inlinestatic
Parameters
AThe matrix whose eigenvalue problem should be solved.
Returns
An environment that can be used to solve the dense eigenvalue problem for the given square matrix.

◆ eigenpairs()

template<typename _Scalar >
std::vector< Eigenpair< double, Scalar > > GQCP::EigenproblemEnvironment< _Scalar >::eigenpairs ( const size_t  number_of_requested_eigenpairs = 1) const
inline
Parameters
number_of_requested_eigenpairsThe number of eigenpairs to retrieve.
Returns
The eigenvalues and eigenvectors as a vector of eigenpairs.

◆ Iterative() [1/2]

template<typename _Scalar >
static EigenproblemEnvironment GQCP::EigenproblemEnvironment< _Scalar >::Iterative ( const SquareMatrix< Scalar > &  A,
const MatrixX< Scalar > &  V 
)
inlinestatic
Parameters
AThe matrix whose eigenvalue problem should be solved.
VA matrix of initial guess vectors (each column of the matrix is an initial guess vector).
Returns
An environment that can be used to solve the eigenvalue problem for the matrix that is represented by the given matrix-vector product.

◆ Iterative() [2/2]

template<typename _Scalar >
static EigenproblemEnvironment GQCP::EigenproblemEnvironment< _Scalar >::Iterative ( const VectorFunction< Scalar > &  matrix_vector_product_function,
const VectorX< Scalar > &  diagonal,
const MatrixX< Scalar > &  V 
)
inlinestatic
Parameters
matrix_vector_productA vector function that returns the matrix-vector product (i.e. the matrix-vector product representation of the matrix).
diagonalThe diagonal of the matrix whose eigenvalue problem should be solved.
VA matrix of initial guess vectors (each column of the matrix is an initial guess vector).
Returns
An environment that can be used to solve the eigenvalue problem for the matrix that is represented by the given matrix-vector product.

Member Data Documentation

◆ A

template<typename _Scalar >
SquareMatrix<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::A

◆ Delta

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::Delta

◆ diagonal

template<typename _Scalar >
VectorX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::diagonal

◆ dimension

template<typename _Scalar >
size_t GQCP::EigenproblemEnvironment< _Scalar >::dimension

◆ eigenvalues

template<typename _Scalar >
VectorX<double> GQCP::EigenproblemEnvironment< _Scalar >::eigenvalues

◆ eigenvectors

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::eigenvectors

◆ Lambda

template<typename _Scalar >
VectorX<double> GQCP::EigenproblemEnvironment< _Scalar >::Lambda

◆ matrix_vector_product_function

template<typename _Scalar >
VectorFunction<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::matrix_vector_product_function

◆ R

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::R

◆ S

template<typename _Scalar >
SquareMatrix<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::S

◆ V

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::V

◆ VA

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::VA

◆ X

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::X

◆ Z

template<typename _Scalar >
MatrixX<Scalar> GQCP::EigenproblemEnvironment< _Scalar >::Z

The documentation for this class was generated from the following file: