MPQC  3.0.0-alpha

Classes

struct  mpqc::ci::Config
 CI configuration. More...
 
struct  mpqc::ci::CI< CIFunctor, Index >
 CI class template. More...
 
struct  mpqc::ci::Restricted
 Restricted CI Functor. More...
 
struct  mpqc::ci::Spin< S >
 Electron spin. More...
 
struct  mpqc::ci::Space< Spin >
 A CI space, marked by Spin S and rank. More...
 
struct  mpqc::ci::Subspace< Spin >
 A range of a space where all objects in the subspace range are assumed to have the same space rank. More...
 
struct  mpqc::ci::Subspace< Any >
 A subspace specialization that "discard" the spin parameter. More...
 
struct  mpqc::ci::SubspaceGrid
 Grid of subspaces, represented as blocks of determinants defined by alpha/beta pair, along with sparsity information. More...
 
struct  mpqc::ci::SubspaceBlock
 
struct  mpqc::ci::Vector
 Block CI Vector, with 1-d (vector) and 2-d (matrix) access. More...
 

Typedefs

typedef Spin< 1 > mpqc::ci::Alpha
 
typedef Spin<-1 > mpqc::ci::Beta
 
typedef Spin< 0 > mpqc::ci::Any
 

Functions

void mpqc::ci::read (ci::Vector &V, File::Dataspace< double > F, const std::vector< mpqc::range > &local)
 read local segments into V from F
 
void mpqc::ci::write (ci::Vector &V, File::Dataspace< double > F, const std::vector< mpqc::range > &local)
 write local segments of V to F
 
template<class Type , class Index >
std::vector< double > mpqc::ci::direct (CI< Type, Index > &ci, const mpqc::Vector &h, const mpqc::Matrix &V)
 Direct Davidson. More...
 
template<class Type , class Index >
void mpqc::ci::sigma (const CI< Type, Index > &ci, const mpqc::Vector &h, const Matrix &V, ci::Vector &C, ci::Vector &S)
 Computes sigma 1,2,3 contributions. More...
 
template<class Spin >
bool mpqc::ci::operator< (const Space< Spin > &a, const Space< Spin > &b)
 Compare two spaces by their rank.
 
template<class Spin >
std::vector< Subspace< Spin > > mpqc::ci::split (const std::vector< Subspace< Spin > > &V, size_t block)
 
std::vector< SubspaceBlockmpqc::ci::blocks (const std::vector< Subspace< Alpha > > &A, const std::vector< Subspace< Beta > > &B)
 
void mpqc::ci::operator<< (Vector::Block1d block, const mpqc::Vector &v)
 Set vector block to v.
 
void mpqc::ci::operator>> (Vector::Block1d block, mpqc::Vector &v)
 Get vector block into v.
 
double mpqc::ci::norm (ci::Vector &V, const std::vector< mpqc::range > &local, const MPI::Comm &comm)
 Compute CI vector norm. More...
 
double mpqc::ci::orthonormalize (ci::Vector &b, ci::Vector &D, const std::vector< mpqc::range > &local, const MPI::Comm &comm)
 Schmidt orthogonalization d' = normalized(d - <d,b>*b) More...
 

Detailed Description

Configuration Interaction (CI) implementation

Function Documentation

◆ direct()

template<class Type , class Index >
std::vector<double> mpqc::ci::direct ( CI< Type, Index > &  ci,
const mpqc::Vector h,
const mpqc::Matrix V 
)

◆ norm()

double mpqc::ci::norm ( ci::Vector V,
const std::vector< mpqc::range > &  local,
const MPI::Comm comm 
)

Compute CI vector norm.

Parameters
[in]VCI Vector
localvector of sub-blocks the node will process (implies parallelization)
commMPI comm

References mpqc::norm().

◆ orthonormalize()

double mpqc::ci::orthonormalize ( ci::Vector b,
ci::Vector D,
const std::vector< mpqc::range > &  local,
const MPI::Comm comm 
)

Schmidt orthogonalization d' = normalized(d - <d,b>*b)

Parameters
[in]borthonormal CI Vector (notice ortho*normal* - MUST be norm-1)
[in,out]dCI Vector to orthonormalize
localvector of sub-blocks the node will process (implies parallelization)
commMPI comm
Returns
<d,b>*<d',d'>

◆ sigma()

template<class Type , class Index >
void mpqc::ci::sigma ( const CI< Type, Index > &  ci,
const mpqc::Vector h,
const Matrix V,
ci::Vector C,
ci::Vector S 
)

Computes sigma 1,2,3 contributions.

Parameters
hone-electron MO integrals (packed symmetric)
Vtwo-electron MO integrals (packed symmetric)
[in]CC vector
[out]SSigma vector

References mpqc::ci::CI< CIFunctor, Index >::alpha, mpqc::ci::SubspaceGrid::alpha(), mpqc::ci::SubspaceGrid::beta(), mpqc::ci::CI< CIFunctor, Index >::comm, and mpqc::ci::CI< CIFunctor, Index >::subspace.

Referenced by mpqc::ci::direct().


Generated at Sun Jan 26 2020 23:24:02 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.