1#ifndef MPQC_CI_RESTRICTED_HPP
2#define MPQC_CI_RESTRICTED_HPP
4#include "mpqc/ci/ci.hpp"
5#include "mpqc/ci/subspace.hpp"
6#include "mpqc/math/matrix.hpp"
23 for (
int j = 0; j < B.size(); ++j) {
24 for (
int i = 0; i < A.size(); ++i) {
25 mask(i,j) =
test(ci, A.at(i), B.at(j));
43 return ((a.rank() + b.rank()) <= ci.
config.
rank);
Contains new MPQC code since version 3.
Definition integralenginepool.hpp:37
CI class template.
Definition ci.hpp:75
int excitation(const String &s) const
rank/excitation of the string relative to its ground state, ie [11..00]
Definition ci.hpp:117
const ci::Config config
CI configuration.
Definition ci.hpp:79
size_t rank
Restricted CI order, rank=0 implies Full CI.
Definition ci.hpp:27
Restricted CI Functor.
Definition restricted.hpp:15
static SubspaceGrid grid(const CI< Restricted, Index > &ci, const std::vector< Subspace< Alpha > > &A, const std::vector< Subspace< Beta > > &B)
Create Restricted CI subspace grid.
Definition restricted.hpp:18
static bool test(const CI< Restricted, Index > &ci, const Space< Alpha > &a, const Space< Beta > &b)
tests if simultaneous excitation to space a and space b is allowed
Definition restricted.hpp:39
static bool test(const CI< Restricted, Index > &ci, const String &a)
tests if the excitation to a is allowed
Definition restricted.hpp:32
A CI space, marked by Spin S and rank.
Definition subspace.hpp:32
Grid of subspaces, represented as blocks of determinants defined by alpha/beta pair,...
Definition subspace.hpp:103
A range of a space where all objects in the subspace range are assumed to have the same space rank.
Definition subspace.hpp:51
Matrix class derived from Eigen::Matrix with additional MPQC integration.
Definition matrix.hpp:23