iterative-solver 0.0
 
Loading...
Searching...
No Matches
molpro::linalg::itsolv::subspace Namespace Reference

Namespaces

namespace  qspace
 
namespace  util
 
namespace  xspace
 

Classes

struct  Dimensions
 
class  DSpace
 D space stores complement of P+Q+R subspace that is necessary to reproduce the previous solutions. More...
 
struct  ISubspaceSolver
 Manages solution of the subspace problem and storage of those solutions. More...
 
class  IXSpace
 Full subspace. More...
 
class  Matrix
 Matrix container that allows simple data access, slicing, copying and resizing without loosing data. More...
 
class  PSpace
 
struct  QSpace
 Container storing the Q space parameters. More...
 
class  SubspaceSolverDIIS
 Solves non-linear equations using DIIS. More...
 
class  SubspaceSolverLinEig
 Solves subspace problem for linear eigenvalues and system of linear equations. More...
 
class  SubspaceSolverOptBFGS
 Solves subspace problem for minimisation using the Steepest Descent algorithm. More...
 
class  SubspaceSolverOptSD
 Solves subspace problem for minimisation using the Steepest Descent algorithm. More...
 
class  SubspaceSolverRSPT
 
class  XSpace
 

Typedefs

template<typename T = double>
using SubspaceData = std::map< EqnData, Matrix< T > >
 Equation data blocks of the subspace, in the scalar type of the problem.
 

Enumerations

enum class  EqnData {
  H ,
  S ,
  rhs ,
  value
}
 

Functions

template<class ML , class MR >
void transpose_copy (ML &&ml, const MR &mr)
 
template<class ML , class MR >
void conjugate_transpose_copy (ML &&ml, const MR &mr)
 Copies the conjugate transpose of mr into ml.
 
template<class Mat >
std::string as_string (const Mat &m, int precision=6)
 
template<typename T = double, EqnData... DataTypes>
auto null_data ()
 

Typedef Documentation

◆ SubspaceData

Equation data blocks of the subspace, in the scalar type of the problem.

Enumeration Type Documentation

◆ EqnData

Enumerator
H 
S 
rhs 
value 

Function Documentation

◆ as_string()

template<class Mat >
std::string molpro::linalg::itsolv::subspace::as_string ( const Mat &  m,
int  precision = 6 
)

◆ conjugate_transpose_copy()

template<class ML , class MR >
void molpro::linalg::itsolv::subspace::conjugate_transpose_copy ( ML &&  ml,
const MR &  mr 
)

Copies the conjugate transpose of mr into ml.

This is what relates the two off-diagonal blocks of a hermitian matrix; for a real element type it is the same as transpose_copy().

◆ null_data()

template<typename T = double, EqnData... DataTypes>
auto molpro::linalg::itsolv::subspace::null_data ( )

◆ transpose_copy()

template<class ML , class MR >
void molpro::linalg::itsolv::subspace::transpose_copy ( ML &&  ml,
const MR &  mr 
)