MADNESS 0.10.1
madness::Subspace< T, NDIM > Class Template Reference

The SubspaceK class is a container class holding previous orbitals and residuals. More...

#include <solver.h>

Collaboration diagram for madness::Subspace< T, NDIM >:

Public Member Functions

 Subspace (World &world, const ElectronicStructureParams &params)
void reproject ()
void update_subspace (vecfuncT &awfs_new, vecfuncT &bwfs_new, const vecfuncT &awfs_old, const vecfuncT &bwfs_old, const vecfuncT &rm)

Private Types

typedef Function< valueT, NDIM > functionT
typedef std::pair< vecfuncT, vecfuncT > pairvecfuncT
typedef std::vector< pairvecfuncT > subspaceT
typedef Tensor< valueT > tensorT
typedef std::complex< T > valueT
typedef std::vector< functionT > vecfuncT

Private Attributes

std::vector< KPoint > _kpoints
ElectronicStructureParams _params
tensorT _Q
subspaceT _subspace
World & _world

Detailed Description

template<typename T, int NDIM>
class madness::Subspace< T, NDIM >

The SubspaceK class is a container class holding previous orbitals and residuals.

The Solver class uses the Krylov Accelerated Inexact Newton Solver (KAIN) accelerate the convergence a given calculation. The KAIN solver needs to store a subspace of previous orbitals and residuals.

Member Typedef Documentation

◆ functionT

template<typename T, int NDIM>
typedef Function<valueT,NDIM> madness::Subspace< T, NDIM >::functionT
private

◆ pairvecfuncT

template<typename T, int NDIM>
typedef std::pair<vecfuncT,vecfuncT> madness::Subspace< T, NDIM >::pairvecfuncT
private

◆ subspaceT

template<typename T, int NDIM>
typedef std::vector<pairvecfuncT> madness::Subspace< T, NDIM >::subspaceT
private

◆ tensorT

template<typename T, int NDIM>
typedef Tensor<valueT> madness::Subspace< T, NDIM >::tensorT
private

◆ valueT

template<typename T, int NDIM>
typedef std::complex<T> madness::Subspace< T, NDIM >::valueT
private

◆ vecfuncT

template<typename T, int NDIM>
typedef std::vector<functionT> madness::Subspace< T, NDIM >::vecfuncT
private

Constructor & Destructor Documentation

◆ Subspace()

template<typename T, int NDIM>
madness::Subspace< T, NDIM >::Subspace ( World & world,
const ElectronicStructureParams & params )
inline

References _params, and _world.

Member Function Documentation

◆ reproject()

template<typename T, int NDIM>
void madness::Subspace< T, NDIM >::reproject ( )
inline

◆ update_subspace()

template<typename T, int NDIM>
void madness::Subspace< T, NDIM >::update_subspace ( vecfuncT & awfs_new,
vecfuncT & bwfs_new,
const vecfuncT & awfs_old,
const vecfuncT & bwfs_old,
const vecfuncT & rm )
inline

Member Data Documentation

◆ _kpoints

template<typename T, int NDIM>
std::vector<KPoint> madness::Subspace< T, NDIM >::_kpoints
private

◆ _params

template<typename T, int NDIM>
ElectronicStructureParams madness::Subspace< T, NDIM >::_params
private

Referenced by Subspace(), and update_subspace().

◆ _Q

template<typename T, int NDIM>
tensorT madness::Subspace< T, NDIM >::_Q
private

Referenced by update_subspace().

◆ _subspace

template<typename T, int NDIM>
subspaceT madness::Subspace< T, NDIM >::_subspace
private

Referenced by update_subspace().

◆ _world

template<typename T, int NDIM>
World& madness::Subspace< T, NDIM >::_world
private

Referenced by Subspace(), and update_subspace().


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