hamiltonian.h File Reference
#include <mpqc/math/fock/fwd.h>
#include <mpqc/math/fock/iter.h>
#include <mpqc/math/fock/sdseq.h>
#include <mpqc/math/linalg/ucsrmatrix.h>
#include <btas/tarray.h>
Include dependency graph for hamiltonian.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  mpqc::utility::intersection_sd_str< Spin >
 

Namespaces

 mpqc
 The top-level namespace for all Massively Parallel Quantum Chemistry package.
 
 mpqc::detail
 
 mpqc::utility
 

Functions

template<typename Iterator , typename V >
void mpqc::detail::emplace_at (Iterator begin, std::size_t pos, V &&value)
 
template<typename T , typename V >
void mpqc::detail::emplace_at (TA::container::svector< std::pair< std::size_t, T >> &vector, std::size_t pos, V &&value)
 
template<bool UnitCoefficient = false, bool Lower = false, typename StringSet , typename ResultIterator , typename Coefficient , typename Tensor1 , typename Tensor2 , typename AReplacementFactory = decltype(make_str_repl<1, 1, typename StringSet::value_type>), typename BReplacementFactory = decltype(make_str_repl<1, 1, typename StringSet::value_type>), typename AAReplacementFactory = decltype(make_str_repl<2, 2, typename StringSet::value_type>), typename BBReplacementFactory = decltype(make_str_repl<2, 2, typename StringSet::value_type>), typename ABReplacementFactory = decltype(make_sd_repl<1, 1, 1, 1, StringSet>)>
auto mpqc::compute_Hc_I (const SlaterDeterminantSet< StringSet > &dets, const typename SlaterDeterminantSet< StringSet >::const_iterator sditer, ResultIterator &sigma, const Coefficient c_I, const Tensor1 &h1, const Tensor2 &h2_1122, bool debug=false, const AReplacementFactory &make_A_replacement=make_str_repl< 1, 1, typename StringSet::value_type >, const BReplacementFactory &make_B_replacement=make_str_repl< 1, 1, typename StringSet::value_type >, const AAReplacementFactory &make_AA_replacement=make_str_repl< 2, 2, typename StringSet::value_type >, const BBReplacementFactory &make_BB_replacement=make_str_repl< 2, 2, typename StringSet::value_type >, const ABReplacementFactory &make_AB_replacement=make_sd_repl< 1, 1, 1, 1, StringSet >)
 
template<typename StringSet , typename ResultIterator , typename CoefficientIterator , typename Tensor1 , typename Tensor2 >
void mpqc::compute_Hc (const SlaterDeterminantSet< StringSet > &dets, ResultIterator &sigma, const CoefficientIterator &C, const Tensor1 &h1, const Tensor2 &h2_1122, bool debug=false)
 
template<typename StringSet , typename Tensor1 , typename Tensor2 >
auto mpqc::compute_H (const SlaterDeterminantSet< StringSet > &dets, const Tensor1 &h1, const Tensor2 &h2_1122, bool debug=false)
 
template<typename StringSet , typename Tensor1 , typename Tensor2 , typename AReplacementFactory = decltype(make_str_repl<1, 1, typename StringSet::value_type>), typename BReplacementFactory = decltype(make_str_repl<1, 1, typename StringSet::value_type>), typename AAReplacementFactory = decltype(make_str_repl<2, 2, typename StringSet::value_type>), typename BBReplacementFactory = decltype(make_str_repl<2, 2, typename StringSet::value_type>), typename ABReplacementFactory = decltype(make_sd_repl<1, 1, 1, 1, StringSet>)>
UCSRMatrix< double > mpqc::compute_sparse_H (const SlaterDeterminantSet< StringSet > &dets, const Tensor1 &h1, const Tensor2 &h2_1122, bool debug=false, const AReplacementFactory &make_A_replacement=make_str_repl< 1, 1, typename StringSet::value_type >, const BReplacementFactory &make_B_replacement=make_str_repl< 1, 1, typename StringSet::value_type >, const AAReplacementFactory &make_AA_replacement=make_str_repl< 2, 2, typename StringSet::value_type >, const BBReplacementFactory &make_BB_replacement=make_str_repl< 2, 2, typename StringSet::value_type >, const ABReplacementFactory &make_AB_replacement=make_sd_repl< 1, 1, 1, 1, StringSet >)
 
template<bool LowerH = true, typename String , typename Tensor1 , typename Tensor2 >
void mpqc::compute_sparse_H_v2 (UCSRMatrix< double > &H, const SlaterDeterminantSparseMatrix< String, SpinCase1::Alpha > &dets, const Tensor1 &h1, const Tensor2 &h2_1122, bool debug=false)
 

Variables

constexpr bool mpqc::detail::keep_H_computation_statistics = false
 
size_t mpqc::detail::num_generated_replacements = 0
 
size_t mpqc::detail::num_used_replacements = 0