MADNESS 0.10.1
Public Member Functions | Private Types | Private Attributes | List of all members
Subspace Class Reference

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

#include <subspace.h>

Public Member Functions

 Subspace (bool spinpol=false, int maxsub=4)
 
void reproject ()
 
void update_subspace (World &world, vector_complex_function_3d &awfs_new, const vector_complex_function_3d &awfs_old, const vector_complex_function_3d &rm)
 
void update_subspace (World &world, vector_complex_function_3d &awfs_new, vector_complex_function_3d &bwfs_new, const vector_complex_function_3d &awfs_old, const vector_complex_function_3d &bwfs_old, const vector_complex_function_3d &rm)
 

Private Types

typedef std::pair< vector_complex_function_3d, vector_complex_function_3d > pairvecT
 
typedef std::vector< pairvecTsubspaceT
 

Private Attributes

int _maxsub
 
tensor_complex _Q
 
bool _spinpol
 
subspaceT _subspace
 

Detailed Description

The Subspace 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

◆ pairvecT

typedef std::pair<vector_complex_function_3d,vector_complex_function_3d> Subspace::pairvecT
private

◆ subspaceT

typedef std::vector<pairvecT> Subspace::subspaceT
private

Constructor & Destructor Documentation

◆ Subspace()

Subspace::Subspace ( bool  spinpol = false,
int  maxsub = 4 
)
inline

Member Function Documentation

◆ reproject()

void Subspace::reproject ( )
inline

◆ update_subspace() [1/2]

void Subspace::update_subspace ( World &  world,
vector_complex_function_3d &  awfs_new,
const vector_complex_function_3d &  awfs_old,
const vector_complex_function_3d &  rm 
)
inline

References _maxsub, _Q, _subspace, c, e(), KAIN(), m, and print().

◆ update_subspace() [2/2]

void Subspace::update_subspace ( World &  world,
vector_complex_function_3d &  awfs_new,
vector_complex_function_3d &  bwfs_new,
const vector_complex_function_3d &  awfs_old,
const vector_complex_function_3d &  bwfs_old,
const vector_complex_function_3d &  rm 
)
inline

References _maxsub, _Q, _spinpol, _subspace, c, e(), KAIN(), m, and print().

Member Data Documentation

◆ _maxsub

int Subspace::_maxsub
private

Referenced by update_subspace(), and update_subspace().

◆ _Q

tensor_complex Subspace::_Q
private

Referenced by update_subspace(), and update_subspace().

◆ _spinpol

bool Subspace::_spinpol
private

Referenced by update_subspace().

◆ _subspace

subspaceT Subspace::_subspace
private

Referenced by update_subspace(), and update_subspace().


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