mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > > Struct Template Reference
Documentation
template<typename StringRange>
struct mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > >
(spin-collinear) Slater determinant = pair of string iterators
- Note
- use String to represent determinants with noncollinear spins, e.g., for relativistic theory
- Template Parameters
-
StringRange a range of strings
Classes | |
struct | equal_to |
struct | hash |
Public Types | |
using | string_iterator = typename StringRange::const_iterator |
using | String = typename StringRange::value_type |
using | string_type = String |
Public Member Functions | |
SlaterDeterminant (string_iterator as, string_iterator bs) | |
SlaterDeterminant (string_iterator as, string_iterator bs, const StringRange *asrange, const StringRange *bsrange=nullptr) | |
SlaterDeterminant (const String &as, const String &bs, const StringRange *asrange, const StringRange *bsrange=nullptr) | |
bool | operator== (const SlaterDeterminant &other) const |
size_t | hash_value () const |
Public Attributes | |
std::pair< string_iterator, string_iterator > | str |
{alpha,beta} string More... | |
Member Typedef Documentation
◆ String
template<typename StringRange >
using mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > >::String = typename StringRange::value_type |
◆ string_iterator
template<typename StringRange >
using mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > >::string_iterator = typename StringRange::const_iterator |
◆ string_type
template<typename StringRange >
using mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > >::string_type = String |
Constructor & Destructor Documentation
◆ SlaterDeterminant() [1/3]
template<typename StringRange >
|
inline |
construct from a pair of iterators
- Parameters
-
[in] as iterator pointing to alpha string [in] bs iterator pointing to beta string
- Warning
- fastest, unsafe: produces unusable SlaterDeterminant if
as
or @bs do not point to a valid string
◆ SlaterDeterminant() [2/3]
template<typename StringRange >
|
inline |
construct from a pair of iterators
- Parameters
-
[in] as iterator pointing to alpha string; [in] bs iterator pointing to beta string; [in] asrange range pointed to by as
[in] bsrange range pointed to by bs
(if omitted or null, will assume thatbs
points toasrange
)
- Warning
- fast, safe: produces usable SlaterDeterminant
◆ SlaterDeterminant() [3/3]
template<typename StringRange >
|
inline |
construct from a pair of strings
- Parameters
-
[in] as alpha string [in] bs beta string [in] asrange range pointed to by as
[in] bsrange range pointed to by bs
(if omitted or null, will assume thatbs
points toasrange
)
- Warning
- slowest, safe: produces usable SlaterDeterminant
Member Function Documentation
◆ hash_value()
template<typename StringRange >
|
inline |
◆ operator==()
template<typename StringRange >
|
inline |
Member Data Documentation
◆ str
template<typename StringRange >
std::pair<string_iterator, string_iterator> mpqc::SlaterDeterminant< StringRange, std::enable_if_t<!meta::is_string_v< StringRange > > >::str |
{alpha,beta} string
The documentation for this struct was generated from the following file:
- mpqc/math/fock/sdseq.h