![]() |
pairinteraction
A Rydberg Interaction Calculator
|
#include <Operator.hpp>
Public Types | |
using | scalar_t = typename traits::CrtpTraits< Derived >::scalar_t |
using | real_t = typename traits::CrtpTraits< Derived >::real_t |
using | ketvec_t = typename traits::CrtpTraits< Derived >::ketvec_t |
using | basis_t = typename traits::CrtpTraits< Derived >::basis_t |
![]() | |
using | real_t = typename traits::NumTraits< traits::CrtpTraits< Derived >::scalar_t >::real_t |
Public Member Functions | |
Operator (std::shared_ptr< const basis_t > basis) | |
virtual | ~Operator ()=default |
std::shared_ptr< const basis_t > | get_basis () const |
std::shared_ptr< const basis_t > & | get_basis () |
const Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > & | get_matrix () const |
Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > & | get_matrix () |
const Transformation< scalar_t > & | get_transformation () const override |
Transformation< scalar_t > | get_rotator (real_t alpha, real_t beta, real_t gamma) const override |
Sorting | get_sorter (const std::vector< TransformationType > &labels) const override |
std::vector< IndicesOfBlock > | get_indices_of_blocks (const std::vector< TransformationType > &labels) const override |
void | get_indices_of_blocks_without_checks (const std::set< TransformationType > &unique_labels, IndicesOfBlocksCreator &blocks) const |
Derived | transformed (const Transformation< scalar_t > &transformation) const |
Derived | transformed (const Sorting &transformation) const |
![]() | |
virtual | ~TransformationBuilderInterface ()=default |
virtual const Transformation< traits::CrtpTraits< Derived >::scalar_t > & | get_transformation () const=0 |
virtual Transformation< traits::CrtpTraits< Derived >::scalar_t > | get_rotator (real_t alpha, real_t beta, real_t gamma) const=0 |
Transformation< traits::CrtpTraits< Derived >::scalar_t > | get_rotator (const std::array< real_t, 3 > &to_z_axis, const std::array< real_t, 3 > &to_y_axis) const |
virtual Sorting | get_sorter (const std::vector< TransformationType > &labels) const=0 |
virtual std::vector< IndicesOfBlock > | get_indices_of_blocks (const std::vector< TransformationType > &labels) const=0 |
Protected Member Functions | |
void | initialize_as_energy_operator () |
void | initialize_from_matrix (Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > &&matrix) |
Protected Attributes | |
std::shared_ptr< const basis_t > | basis |
Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > | matrix |
Friends | |
Derived | operator* (const typename Operator< Derived >::scalar_t &lhs, const Operator< Derived > &rhs) |
Derived | operator* (const Operator< Derived > &lhs, const typename Operator< Derived >::scalar_t &rhs) |
Derived | operator/ (const Operator< Derived > &lhs, const typename Operator< Derived >::scalar_t &rhs) |
Derived & | operator+= (Operator< Derived > &lhs, const Operator< Derived > &rhs) |
Derived & | operator-= (Operator< Derived > &lhs, const Operator< Derived > &rhs) |
Derived | operator+ (const Operator< Derived > &lhs, const Operator< Derived > &rhs) |
Derived | operator- (const Operator< Derived > &lhs, const Operator< Derived > &rhs) |
Definition at line 41 of file Operator.hpp.
using pairinteraction::Operator< Derived >::basis_t = typename traits::CrtpTraits<Derived>::basis_t |
Definition at line 47 of file Operator.hpp.
using pairinteraction::Operator< Derived >::ketvec_t = typename traits::CrtpTraits<Derived>::ketvec_t |
Definition at line 46 of file Operator.hpp.
using pairinteraction::Operator< Derived >::real_t = typename traits::CrtpTraits<Derived>::real_t |
Definition at line 45 of file Operator.hpp.
using pairinteraction::Operator< Derived >::scalar_t = typename traits::CrtpTraits<Derived>::scalar_t |
Definition at line 44 of file Operator.hpp.
pairinteraction::Operator< Derived >::Operator | ( | std::shared_ptr< const basis_t > | basis | ) |
Definition at line 21 of file Operator.cpp.
References pairinteraction::Operator< Derived >::matrix.
|
virtualdefault |
std::shared_ptr< const typename Operator< Derived >::basis_t > & pairinteraction::Operator< Derived >::get_basis |
Definition at line 68 of file Operator.cpp.
std::shared_ptr< const typename Operator< Derived >::basis_t > pairinteraction::Operator< Derived >::get_basis |
Definition at line 63 of file Operator.cpp.
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 149 of file Operator.cpp.
References pairinteraction::SORT_BY_ENERGY.
void pairinteraction::Operator< Derived >::get_indices_of_blocks_without_checks | ( | const std::set< TransformationType > & | unique_labels, |
IndicesOfBlocksCreator & | blocks | ||
) | const |
Eigen::SparseMatrix< typename Operator< Derived >::scalar_t, Eigen::RowMajor > & pairinteraction::Operator< Derived >::get_matrix |
Definition at line 80 of file Operator.cpp.
const Eigen::SparseMatrix< typename Operator< Derived >::scalar_t, Eigen::RowMajor > & pairinteraction::Operator< Derived >::get_matrix |
Definition at line 74 of file Operator.cpp.
Referenced by main().
|
override |
Definition at line 92 of file Operator.cpp.
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 97 of file Operator.cpp.
References pairinteraction::Sorting::matrix, pairinteraction::SORT_BY_ENERGY, and pairinteraction::Sorting::transformation_type.
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 86 of file Operator.cpp.
|
protected |
Definition at line 27 of file Operator.cpp.
|
protected |
Definition at line 43 of file Operator.cpp.
Derived pairinteraction::Operator< Derived >::transformed | ( | const Sorting & | transformation | ) | const |
Definition at line 197 of file Operator.cpp.
References pairinteraction::Sorting::matrix.
Derived pairinteraction::Operator< Derived >::transformed | ( | const Transformation< scalar_t > & | transformation | ) | const |
|
friend |
|
friend |
|
friend |
Definition at line 248 of file Operator.cpp.
|
friend |
Definition at line 230 of file Operator.cpp.
|
friend |
Definition at line 258 of file Operator.cpp.
|
friend |
Definition at line 239 of file Operator.cpp.
|
friend |
|
protected |
Definition at line 86 of file Operator.hpp.
|
protected |
Definition at line 87 of file Operator.hpp.
Referenced by pairinteraction::Operator< Derived >::Operator().