![]() |
pairinteraction
A Rydberg Interaction Calculator
|
#include <System.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 | operator_t = typename traits::CrtpTraits< Derived >::operator_t |
![]() | |
using | real_t = typename traits::NumTraits< traits::CrtpTraits< Derived >::scalar_t >::real_t |
Public Member Functions | |
System (std::shared_ptr< const basis_t > basis) | |
System (const System &other) | |
System (System &&other) noexcept | |
System< Derived > & | operator= (const System &other) |
System< Derived > & | operator= (System &&other) noexcept |
virtual | ~System () |
std::shared_ptr< const basis_t > | get_basis () const |
std::shared_ptr< const basis_t > | get_eigenbasis () const |
Eigen::VectorX< real_t > | get_eigenenergies () const |
const Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > & | get_matrix () const |
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 |
System< Derived > & | transform (const Transformation< scalar_t > &transformation) |
System< Derived > & | transform (const Sorting &transformation) |
System< Derived > & | diagonalize (const DiagonalizerInterface< scalar_t > &diagonalizer, std::optional< real_t > min_eigenenergy={}, std::optional< real_t > max_eigenenergy={}, double rtol=1e-6) |
bool | is_diagonal () 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 | |
virtual void | construct_hamiltonian () const =0 |
Protected Attributes | |
std::unique_ptr< operator_t> | hamiltonian |
bool | hamiltonian_requires_construction {true} |
bool | hamiltonian_is_diagonal {false} |
std::vector< TransformationType > | blockdiagonalizing_labels |
Definition at line 24 of file System.hpp.
using pairinteraction::System< Derived >::basis_t = typename traits::CrtpTraits<Derived>::basis_t |
Definition at line 30 of file System.hpp.
using pairinteraction::System< Derived >::ketvec_t = typename traits::CrtpTraits<Derived>::ketvec_t |
Definition at line 29 of file System.hpp.
using pairinteraction::System< Derived >::operator_t = typename traits::CrtpTraits<Derived>::operator_t |
Definition at line 31 of file System.hpp.
using pairinteraction::System< Derived >::real_t = typename traits::CrtpTraits<Derived>::real_t |
Definition at line 28 of file System.hpp.
using pairinteraction::System< Derived >::scalar_t = typename traits::CrtpTraits<Derived>::scalar_t |
Definition at line 27 of file System.hpp.
pairinteraction::System< Derived >::System | ( | std::shared_ptr< const basis_t > | basis | ) |
Definition at line 28 of file System.cpp.
pairinteraction::System< Derived >::System | ( | const System< Derived > & | other | ) |
Definition at line 32 of file System.cpp.
|
noexcept |
Definition at line 39 of file System.cpp.
|
virtualdefault |
|
protectedpure virtual |
System< Derived > & pairinteraction::System< Derived >::diagonalize | ( | const DiagonalizerInterface< scalar_t > & | diagonalizer, |
std::optional< real_t > | min_eigenenergy = {} , |
||
std::optional< real_t > | max_eigenenergy = {} , |
||
double | rtol = 1e-6 |
||
) |
Definition at line 184 of file System.cpp.
Referenced by pairinteraction::DOCTEST_TEST_CASE().
std::shared_ptr< const typename System< Derived >::basis_t > pairinteraction::System< Derived >::get_basis |
Definition at line 76 of file System.cpp.
std::shared_ptr< const typename System< Derived >::basis_t > pairinteraction::System< Derived >::get_eigenbasis |
Definition at line 85 of file System.cpp.
Referenced by pairinteraction::DOCTEST_TEST_CASE().
Eigen::VectorX< typename System< Derived >::real_t > pairinteraction::System< Derived >::get_eigenenergies |
Definition at line 97 of file System.cpp.
Referenced by pairinteraction::DOCTEST_TEST_CASE().
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 149 of file System.cpp.
void pairinteraction::System< Derived >::get_indices_of_blocks_without_checks | ( | const std::set< TransformationType > & | unique_labels, |
IndicesOfBlocksCreator & | blocks | ||
) | const |
const Eigen::SparseMatrix< typename System< Derived >::scalar_t, Eigen::RowMajor > & pairinteraction::System< Derived >::get_matrix |
Definition at line 110 of file System.cpp.
Referenced by pairinteraction::DOCTEST_TEST_CASE().
|
override |
Definition at line 130 of file System.cpp.
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 139 of file System.cpp.
Referenced by main().
|
overridevirtual |
Implements pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< Derived >::scalar_t >.
Definition at line 120 of file System.cpp.
bool pairinteraction::System< Derived >::is_diagonal |
Definition at line 321 of file System.cpp.
Referenced by pairinteraction::BasisPairCreator< Scalar >::add().
System< Derived > & pairinteraction::System< Derived >::operator= | ( | const System< Derived > & | other | ) |
Definition at line 46 of file System.cpp.
|
noexcept |
Definition at line 57 of file System.cpp.
System< Derived > & pairinteraction::System< Derived >::transform | ( | const Sorting & | transformation | ) |
Definition at line 173 of file System.cpp.
System< Derived > & pairinteraction::System< Derived >::transform | ( | const Transformation< scalar_t > & | transformation | ) |
Definition at line 158 of file System.cpp.
Referenced by main().
|
mutableprotected |
Definition at line 67 of file System.hpp.
|
mutableprotected |
Definition at line 64 of file System.hpp.
Referenced by pairinteraction::System< SystemAtom< Scalar > >::diagonalize().
|
mutableprotected |
Definition at line 66 of file System.hpp.
|
mutableprotected |
Definition at line 65 of file System.hpp.
Referenced by pairinteraction::System< SystemAtom< Scalar > >::diagonalize().