•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Search Results
mpqc::HBSparseTensor< RR, RC, Abs, T > Class Template Reference
Documentation
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
class mpqc::HBSparseTensor< RR, RC, Abs, T >
Heat-bath sparse representation of a tensor of rank RI+RO
Classes | |
struct Element | |
struct Value | |
Public Types | |
using row_index_type = std::array< orbital_index_type, RR > | |
using col_index_type = std::array< orbital_index_type, RC > | |
using real_type = float | |
using magnitude_type = real_type | |
using empty_type = struct {} | |
using element_data_type = Element | |
using row_type = std::vector< element_data_type > | |
using row_iterator_type = typename row_type::iterator | |
Public Member Functions | |
template<typename Tensor > | |
HBSparseTensor (const Tensor &dense_tensor, magnitude_type epsilon) | |
const auto & row (const row_index_type &idx) const | |
bool row_exists (const row_index_type &idx) const | |
const auto & maxabs_element () const | |
Friends | |
template<class CharT , class Traits , std::size_t RR_, std::size_t RC_, bool Abs_, typename T_ > | |
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &, const HBSparseTensor< RR_, RC_, Abs_, T_ > &) | |
Member Typedef Documentation
◆ col_index_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::col_index_type = std::array<orbital_index_type, RC> |
◆ element_data_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::element_data_type = Element |
◆ empty_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::empty_type = struct {} |
◆ magnitude_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::magnitude_type = real_type |
◆ real_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::real_type = float |
◆ row_index_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::row_index_type = std::array<orbital_index_type, RR> |
◆ row_iterator_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::row_iterator_type = typename row_type::iterator |
◆ row_type
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
using mpqc::HBSparseTensor< RR, RC, Abs, T >::row_type = std::vector<element_data_type> |
Constructor & Destructor Documentation
◆ HBSparseTensor()
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
template<typename Tensor >
|
inline |
- Template Parameters
-
Tensor a dense tensor type
- Parameters
-
[in] dense_tensor a dense tensor, with first RC
modes serving as the row modes[in] epsilon all values in dense_tensor
of magnitude smaller than this are ignored
Member Function Documentation
◆ maxabs_element()
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
|
inline |
- Returns
{{row_idx,col_idx},abs_value}
of the element with the largest magnitude; if all elements were screened outabs_value
will be-1.
◆ row()
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
|
inline |
- Parameters
-
[in] idx row index
- Returns
- (reference to) the row element
{col_idx,value}
pairs, sorted in the order of descending magnitude
- Precondition
this->row_exists(idx) == true
◆ row_exists()
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
|
inline |
- Parameters
-
[in] idx row index
- Returns
- true if row
idx
has at least 1 nonzero value
Friends And Related Function Documentation
◆ operator<<
template<std::size_t RR, std::size_t RC, bool Abs = false, typename T = double>
template<class CharT , class Traits , std::size_t RR_, std::size_t RC_, bool Abs_, typename T_ >
|
friend |
The documentation for this class was generated from the following file:
- mpqc/math/fock/hb.h