mpqc::HBTupleGenerator< RO, RI, AbsHBData, T > Class Template Reference
Collaboration diagram for mpqc::HBTupleGenerator< RO, RI, AbsHBData, T >:
Documentation
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
class mpqc::HBTupleGenerator< RO, RI, AbsHBData, T >
HBTupleGenerator (HB="heat-bath") generates tuples like TupleGenerator<>, but instead of generating all tuples from a host range of integers, every input tuple defines its own output tuple range, with its every element associated with a decreasing magnitude (importance).
- Template Parameters
-
RO output tuple rank RI input tuple rank AbsHBData whether uses a HBData object containing absolute values (magnitudes) or not T the values contained by the HBData object
Public Types | |
using | value_type = const std::array< orbital_index_type, RO > |
using | input_tuple_type = std::array< orbital_index_type, RI > |
using | output_tuple_type = std::array< orbital_index_type, RO > |
Public Types inherited from mpqc::utility::GeneratorRangeFacade< HBTupleGenerator< RO, RI, true, double >, const std::array< orbital_index_type, RO > > | |
typedef GeneratorIterator< HBTupleGenerator< RO, RI, true, double >, HBTupleGenerator< RO, RI, true, double > *, const std::array< orbital_index_type, RO > > | iterator |
typedef GeneratorIterator< HBTupleGenerator< RO, RI, true, double >, HBTupleGenerator< RO, RI, true, double > *, const const std::array< orbital_index_type, RO > > | const_iterator |
Public Member Functions | |
HBTupleGenerator (std::shared_ptr< const HBSparseTensor< RI, RO, AbsHBData, T >> hbdata, const input_tuple_type &input, typename HBSparseTensor< RI, RO, AbsHBData, T >::magnitude_type epsilon) | |
HBTupleGenerator (const HBTupleGenerator &)=default | |
HBTupleGenerator & | operator= (const HBTupleGenerator &)=default |
operator bool () const | |
HBTupleGenerator & | operator++ () |
const output_tuple_type & | operator* () const |
const auto & | attribute () const |
bool | operator== (HBTupleGenerator const &other) const |
Public Member Functions inherited from mpqc::utility::GeneratorRangeFacade< HBTupleGenerator< RO, RI, true, double >, const std::array< orbital_index_type, RO > > | |
const_iterator | begin () |
const_iterator | end () const |
Member Typedef Documentation
◆ input_tuple_type
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
using mpqc::HBTupleGenerator< RO, RI, AbsHBData, T >::input_tuple_type = std::array<orbital_index_type, RI> |
◆ output_tuple_type
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
using mpqc::HBTupleGenerator< RO, RI, AbsHBData, T >::output_tuple_type = std::array<orbital_index_type, RO> |
◆ value_type
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
using mpqc::HBTupleGenerator< RO, RI, AbsHBData, T >::value_type = const std::array<orbital_index_type, RO> |
Constructor & Destructor Documentation
◆ HBTupleGenerator() [1/2]
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inline |
initializes generator using HB-format sparse tensor and an input tuple
- Parameters
-
[in] hbdata the HBData object [in] input input tuple [in] epsilon controls where the range ends; the iteration stops when the element magnitude falls below epsilon
[in] end if true, will point to the end of the range, else will point to the beginning (if possible)
◆ HBTupleGenerator() [2/2]
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
default |
Member Function Documentation
◆ attribute()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inline |
◆ operator bool()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inlineexplicit |
- Returns
- true if not at the end
◆ operator*()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inline |
◆ operator++()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inline |
◆ operator=()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
default |
◆ operator==()
template<std::size_t RO, std::size_t RI, bool AbsHBData = true, typename T = double>
|
inline |
The documentation for this class was generated from the following file:
- mpqc/math/fock/hb.h