MPQC  3.0.0-alpha
full.hpp
1 #ifndef MPQC_CI_FULL_HPP
2 #define MPQC_CI_FULL_HPP
3 
4 #include "mpqc/ci/ci.hpp"
5 #include "mpqc/ci/subspace.hpp"
6 #include "mpqc/math/matrix.hpp"
7 
8 namespace mpqc {
9 namespace ci {
10 
11  struct Full {
12  template<class Index>
13  static SubspaceGrid grid(const CI<Full, Index> &ci,
14  const std::vector< Subspace<Alpha> > &A,
15  const std::vector< Subspace<Beta> > &B)
16  {
17  mpqc::matrix<bool> mask = mpqc::matrix<bool>::Constant(A.size(), B.size(), true);
18  return SubspaceGrid(A, B, mask);
19  }
21  template<class Index>
22  static bool test(const CI<Full, Index> &ci,
23  const String &a)
24  {
25  return true;
26  }
28  template<class Index>
29  static bool test(const CI<Full, Index> &ci,
30  const Space<Alpha> &a,
31  const Space<Beta> &b)
32  {
33  return true;
34  }
35  };
36 
37 } // namespace ci
38 } // namespace mpqc
39 
40 #endif // MPQC_CI_FULL_HPP
mpqc::ci::SubspaceGrid
Grid of subspaces, represented as blocks of determinants defined by alpha/beta pair,...
Definition: subspace.hpp:103
mpqc
Contains new MPQC code since version 3.
Definition: integralenginepool.hpp:37
mpqc::matrix< bool >
mpqc::ci::Full
Definition: full.hpp:11
mpqc::ci::CI
CI class template.
Definition: ci.hpp:71
mpqc::ci::Subspace
A range of a space where all objects in the subspace range are assumed to have the same space rank.
Definition: subspace.hpp:51
mpqc::ci::Full::test
static bool test(const CI< Full, Index > &ci, const String &a)
tests if the excitation to a is allowed
Definition: full.hpp:22
mpqc::ci::Full::test
static bool test(const CI< Full, Index > &ci, const Space< Alpha > &a, const Space< Beta > &b)
tests if simultaneous excitation to space a and space b is allowed
Definition: full.hpp:29
mpqc::ci::Space
A CI space, marked by Spin S and rank.
Definition: subspace.hpp:32
mpqc::ci::String
Definition: string.hpp:24

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