|
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< SubspaceBlock > | mpqc::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... | |
Configuration Interaction (CI) implementation
| std::vector<double> mpqc::ci::direct | ( | CI< Type, Index > & | ci, |
| const mpqc::Vector & | h, | ||
| const mpqc::Matrix & | V | ||
| ) |
Direct Davidson.
| h | one-electron MO integrals (packed symmetric) | |
| V | two-electron MO integrals (packed symmetric) | |
| [in,out] | ci | CI object |
References mpqc::ci::CI< CIFunctor, Index >::alpha, mpqc::ci::CI< CIFunctor, Index >::beta, mpqc::ci::CI< CIFunctor, Index >::comm, mpqc::ci::CI< CIFunctor, Index >::config, MPQC_EXCEPTION, mpqc::norm(), mpqc::orthonormalize(), sc::ExEnv::out0(), mpqc::ci::read(), mpqc::ci::sigma(), mpqc::ci::CI< CIFunctor, Index >::subspace, mpqc::symmetric(), mpqc::ci::CI< CIFunctor, Index >::vector, and mpqc::ci::write().
| double mpqc::ci::norm | ( | ci::Vector & | V, |
| const std::vector< mpqc::range > & | local, | ||
| const MPI::Comm & | comm | ||
| ) |
Compute CI vector norm.
| [in] | V | CI Vector |
| local | vector of sub-blocks the node will process (implies parallelization) | |
| comm | MPI comm |
References mpqc::norm().
| double mpqc::ci::orthonormalize | ( | ci::Vector & | b, |
| ci::Vector & | D, | ||
| const std::vector< mpqc::range > & | local, | ||
| const MPI::Comm & | comm | ||
| ) |
| 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.
| h | one-electron MO integrals (packed symmetric) | |
| V | two-electron MO integrals (packed symmetric) | |
| [in] | C | C vector |
| [out] | S | Sigma 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().