sisi4s
Loading...
Searching...
No Matches
sisi4s::CcsdPreconditioner< F > Class Template Reference

Implements the diagonal preconditionar for the davidson method. More...

#include <CcsdPreconditioner.hpp>

Inheritance diagram for sisi4s::CcsdPreconditioner< F >:
Collaboration diagram for sisi4s::CcsdPreconditioner< F >:

Public Types

typedef SDFockVector< F > V
 

Public Member Functions

 CcsdPreconditioner ()
 
 ~CcsdPreconditioner ()
 
CcsdPreconditionersetTai (Tensor< F > *t)
 Setters for the main tensors.
 
CcsdPreconditionersetTabij (Tensor< F > *t)
 
CcsdPreconditionersetFij (Tensor< F > *t)
 
CcsdPreconditionersetFab (Tensor< F > *t)
 
CcsdPreconditionersetVabcd (Tensor< F > *t)
 
CcsdPreconditionersetVijab (Tensor< F > *t)
 
CcsdPreconditionersetViajb (Tensor< F > *t)
 
CcsdPreconditionersetVijkl (Tensor< F > *t)
 
CcsdPreconditionersetSpinFlip (bool t)
 
CcsdPreconditionersetRandom (bool t)
 
CcsdPreconditionersetRandomSigma (double t)
 
std::vector< SDFockVector< F > > getInitialBasis (int eigenVectorsCount)
 Get initial basis.
 
SFockVector< F > getCorrection (const complex eigenValue, SFockVector< F > &residuum)
 
SDFockVector< F > getCorrection (const complex eigenValue, SDFockVector< F > &residuum)
 
SDTFockVector< F > getCorrection (const complex eigenValue, SDTFockVector< F > &residuum)
 
void calculateDiagonal ()
 
std::shared_ptr< VgetDiagonal ()
 

Public Attributes

Tensor< F > * Tai = nullptr
 
Tensor< F > * Tabij = nullptr
 
Tensor< F > * Fij = nullptr
 
Tensor< F > * Fab = nullptr
 
Tensor< F > * Vabcd = nullptr
 
Tensor< F > * Vijab = nullptr
 
Tensor< F > * Viajb = nullptr
 
Tensor< F > * Vijkl = nullptr
 
std::shared_ptr< SDFockVector< F > > diagonalH
 

Detailed Description

template<typename F>
class sisi4s::CcsdPreconditioner< F >

Implements the diagonal preconditionar for the davidson method.

Template Parameters
FIt is the field variable to be used, in general it will be complex

Member Typedef Documentation

◆ V

template<typename F >
typedef SDFockVector<F> sisi4s::CcsdPreconditioner< F >::V

Constructor & Destructor Documentation

◆ CcsdPreconditioner()

template<typename F >
sisi4s::CcsdPreconditioner< F >::CcsdPreconditioner ( )
inline

◆ ~CcsdPreconditioner()

template<typename F >
sisi4s::CcsdPreconditioner< F >::~CcsdPreconditioner ( )
inline

Member Function Documentation

◆ calculateDiagonal()

template<typename F >
void CcsdPreconditioner::calculateDiagonal
Here is the caller graph for this function:

◆ getCorrection() [1/3]

template<typename F >
SDFockVector< F > CcsdPreconditioner::getCorrection ( const complex  eigenValue,
SDFockVector< F > &  residuum 
)
Here is the call graph for this function:

◆ getCorrection() [2/3]

template<typename F >
SDTFockVector< F > CcsdPreconditioner::getCorrection ( const complex  eigenValue,
SDTFockVector< F > &  residuum 
)

◆ getCorrection() [3/3]

template<typename F >
SFockVector< F > CcsdPreconditioner::getCorrection ( const complex  eigenValue,
SFockVector< F > &  residuum 
)

◆ getDiagonal()

template<typename F >
std::shared_ptr< V > sisi4s::CcsdPreconditioner< F >::getDiagonal ( )
inline
Here is the call graph for this function:

◆ getInitialBasis()

template<typename F >
std::vector< SDFockVector< F > > CcsdPreconditioner::getInitialBasis ( int  eigenVectorsCount)

Get initial basis.

Parameters
[in]eigenVectorsCountNumber of eigen vectors
Here is the call graph for this function:

◆ setFab()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setFab ( Tensor< F > *  t)
inline

◆ setFij()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setFij ( Tensor< F > *  t)
inline

◆ setRandom()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setRandom ( bool  t)
inline

◆ setRandomSigma()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setRandomSigma ( double  t)
inline

◆ setSpinFlip()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setSpinFlip ( bool  t)
inline

◆ setTabij()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setTabij ( Tensor< F > *  t)
inline

◆ setTai()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setTai ( Tensor< F > *  t)
inline

Setters for the main tensors.

◆ setVabcd()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setVabcd ( Tensor< F > *  t)
inline

◆ setViajb()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setViajb ( Tensor< F > *  t)
inline

◆ setVijab()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setVijab ( Tensor< F > *  t)
inline

◆ setVijkl()

template<typename F >
CcsdPreconditioner & sisi4s::CcsdPreconditioner< F >::setVijkl ( Tensor< F > *  t)
inline

Member Data Documentation

◆ diagonalH

template<typename F >
std::shared_ptr< SDFockVector<F> > sisi4s::CcsdPreconditioner< F >::diagonalH

◆ Fab

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Fab = nullptr

◆ Fij

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Fij = nullptr

◆ Tabij

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Tabij = nullptr

◆ Tai

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Tai = nullptr

◆ Vabcd

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Vabcd = nullptr

◆ Viajb

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Viajb = nullptr

◆ Vijab

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Vijab = nullptr

◆ Vijkl

template<typename F >
Tensor<F>* sisi4s::CcsdPreconditioner< F >::Vijkl = nullptr

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