![]() |
pairinteraction
A Rydberg Interaction Calculator
|
Class for creating a basis of atomic kets. More...
#include <BasisAtom.hpp>
Public Types | |
using | Type = BasisAtom< Scalar > |
using | ket_t = typename traits::CrtpTraits< Type >::ket_t |
using | ketvec_t = typename traits::CrtpTraits< Type >::ketvec_t |
using | real_t = typename traits::CrtpTraits< Type >::real_t |
![]() | |
using | scalar_t = typename traits::CrtpTraits< BasisAtom< Scalar > >::scalar_t |
using | real_t = typename traits::CrtpTraits< BasisAtom< Scalar > >::real_t |
using | ket_t = typename traits::CrtpTraits< BasisAtom< Scalar > >::ket_t |
using | ketvec_t = typename traits::CrtpTraits< BasisAtom< Scalar > >::ketvec_t |
![]() | |
using | real_t = typename traits::NumTraits< traits::CrtpTraits< BasisAtom< Scalar > >::scalar_t >::real_t |
Public Member Functions | |
BasisAtom (Private, ketvec_t &&kets, std::string &&id_of_kets, Database &database) | |
Database & | get_database () const |
const std::string & | get_species () const |
const std::string & | get_id_of_kets () const |
int | get_ket_index_from_id (size_t ket_id) const |
Eigen::VectorX< Scalar > | get_matrix_elements (std::shared_ptr< const ket_t > ket, OperatorType type, int q=0) const override |
Eigen::SparseMatrix< Scalar, Eigen::RowMajor > | get_matrix_elements (std::shared_ptr< const Type > other, OperatorType type, int q=0) const override |
![]() | |
Basis ()=delete | |
virtual | ~Basis ()=default |
bool | has_quantum_number_f () const |
bool | has_quantum_number_m () const |
bool | has_parity () const |
const ketvec_t & | get_kets () const |
size_t | get_number_of_states () const |
size_t | get_number_of_kets () const |
real_t | get_quantum_number_f (size_t state_index) const |
real_t | get_quantum_number_m (size_t state_index) const |
Parity | get_parity (size_t state_index) const |
std::shared_ptr< const BasisAtom< Scalar > > | get_state (size_t state_index) const |
std::shared_ptr< const ket_t > | get_ket (size_t ket_index) const |
std::shared_ptr< const ket_t > | get_corresponding_ket (size_t state_index) const |
std::shared_ptr< const ket_t > | get_corresponding_ket (std::shared_ptr< const BasisAtom< Scalar > > state) const |
size_t | get_corresponding_ket_index (size_t state_index) const |
size_t | get_corresponding_ket_index (std::shared_ptr< const BasisAtom< Scalar > > state) const |
std::shared_ptr< const BasisAtom< Scalar > > | get_corresponding_state (size_t ket_index) const |
std::shared_ptr< const BasisAtom< Scalar > > | get_corresponding_state (std::shared_ptr< const ket_t > ket) const |
size_t | get_corresponding_state_index (size_t ket_index) const |
size_t | get_corresponding_state_index (std::shared_ptr< const ket_t > ket) const |
std::shared_ptr< const BasisAtom< Scalar > > | get_canonical_state_from_ket (size_t ket_index) const |
std::shared_ptr< const BasisAtom< Scalar > > | get_canonical_state_from_ket (std::shared_ptr< const ket_t > ket) const |
const Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > & | get_coefficients () const |
Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > & | get_coefficients () |
Eigen::VectorX< scalar_t > | get_amplitudes (std::shared_ptr< const ket_t > ket) const |
Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > | get_amplitudes (std::shared_ptr< const BasisAtom< Scalar > > other) const |
Eigen::VectorX< real_t > | get_overlaps (std::shared_ptr< const ket_t > ket) const |
Eigen::SparseMatrix< real_t, Eigen::RowMajor > | get_overlaps (std::shared_ptr< const BasisAtom< Scalar > > other) const |
virtual Eigen::VectorX< scalar_t > | get_matrix_elements (std::shared_ptr< const ket_t > ket, OperatorType type, int q=0) const=0 |
virtual Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > | get_matrix_elements (std::shared_ptr< const BasisAtom< Scalar > > other, OperatorType type, int q=0) const=0 |
Iterator | begin () const |
Iterator | end () 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 | perform_sorter_checks (const std::vector< TransformationType > &labels) const |
void | perform_blocks_checks (const std::set< TransformationType > &unique_labels) const |
void | get_sorter_without_checks (const std::vector< TransformationType > &labels, Sorting &transformation) const |
void | get_indices_of_blocks_without_checks (const std::set< TransformationType > &unique_labels, IndicesOfBlocksCreator &blocks) const |
std::shared_ptr< const BasisAtom< Scalar > > | transformed (const Transformation< scalar_t > &transformation) const |
std::shared_ptr< const BasisAtom< Scalar > > | transformed (const Sorting &transformation) const |
![]() | |
virtual | ~TransformationBuilderInterface ()=default |
virtual const Transformation< traits::CrtpTraits< BasisAtom< Scalar > >::scalar_t > & | get_transformation () const=0 |
virtual Transformation< traits::CrtpTraits< BasisAtom< Scalar > >::scalar_t > | get_rotator (real_t alpha, real_t beta, real_t gamma) const=0 |
Transformation< traits::CrtpTraits< BasisAtom< Scalar > >::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 |
Friends | |
class | Database |
Additional Inherited Members | |
![]() | |
Basis (ketvec_t &&kets) | |
int | get_ket_index_from_ket (std::shared_ptr< const ket_t > ket) const |
![]() | |
ketvec_t | kets |
Class for creating a basis of atomic kets.
Scalar | Complex number type. |
Definition at line 39 of file BasisAtom.hpp.
using pairinteraction::BasisAtom< Scalar >::ket_t = typename traits::CrtpTraits<Type>::ket_t |
Definition at line 48 of file BasisAtom.hpp.
using pairinteraction::BasisAtom< Scalar >::ketvec_t = typename traits::CrtpTraits<Type>::ketvec_t |
Definition at line 49 of file BasisAtom.hpp.
using pairinteraction::BasisAtom< Scalar >::real_t = typename traits::CrtpTraits<Type>::real_t |
Definition at line 50 of file BasisAtom.hpp.
using pairinteraction::BasisAtom< Scalar >::Type = BasisAtom<Scalar> |
Definition at line 47 of file BasisAtom.hpp.
pairinteraction::BasisAtom< Scalar >::BasisAtom | ( | Private | , |
ketvec_t && | kets, | ||
std::string && | id_of_kets, | ||
Database & | database | ||
) |
Definition at line 11 of file BasisAtom.cpp.
References pairinteraction::Basis< BasisAtom< Scalar > >::kets.
Database & pairinteraction::BasisAtom< Scalar >::get_database |
Definition at line 21 of file BasisAtom.cpp.
const std::string & pairinteraction::BasisAtom< Scalar >::get_id_of_kets |
Definition at line 39 of file BasisAtom.cpp.
int pairinteraction::BasisAtom< Scalar >::get_ket_index_from_id | ( | size_t | ket_id | ) | const |
Definition at line 31 of file BasisAtom.cpp.
|
overridevirtual |
Implements pairinteraction::Basis< BasisAtom< Scalar > >.
Definition at line 44 of file BasisAtom.cpp.
|
overridevirtual |
Implements pairinteraction::Basis< BasisAtom< Scalar > >.
Definition at line 58 of file BasisAtom.cpp.
const std::string & pairinteraction::BasisAtom< Scalar >::get_species |
Definition at line 26 of file BasisAtom.cpp.
|
friend |
Definition at line 43 of file BasisAtom.hpp.