pairinteraction
A Rydberg Interaction Calculator
pairinteraction::OperatorPair< Scalar > Class Template Reference

#include <OperatorPair.hpp>

+ Inheritance diagram for pairinteraction::OperatorPair< Scalar >:
+ Collaboration diagram for pairinteraction::OperatorPair< Scalar >:

Public Types

using Type = OperatorPair< Scalar >
 
using basis_t = typename traits::CrtpTraits< Type >::basis_t
 
- Public Types inherited from pairinteraction::Operator< OperatorPair< Scalar > >
using scalar_t = typename traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t
 
using real_t = typename traits::CrtpTraits< OperatorPair< Scalar > >::real_t
 
using ketvec_t = typename traits::CrtpTraits< OperatorPair< Scalar > >::ketvec_t
 
using basis_t = typename traits::CrtpTraits< OperatorPair< Scalar > >::basis_t
 
- Public Types inherited from pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t >
using real_t = typename traits::NumTraits< traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t >::real_t
 

Public Member Functions

 OperatorPair (std::shared_ptr< const basis_t > basis)
 
 OperatorPair (std::shared_ptr< const basis_t > basis, OperatorType type)
 
- Public Member Functions inherited from pairinteraction::Operator< OperatorPair< Scalar > >
 Operator (std::shared_ptr< const basis_t > basis)
 
virtual ~Operator ()=default
 
std::shared_ptr< const basis_tget_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_tget_rotator (real_t alpha, real_t beta, real_t gamma) const override
 
Sorting get_sorter (const std::vector< TransformationType > &labels) const override
 
std::vector< IndicesOfBlockget_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
 
OperatorPair< Scalar > transformed (const Transformation< scalar_t > &transformation) const
 
OperatorPair< Scalar > transformed (const Sorting &transformation) const
 
- Public Member Functions inherited from pairinteraction::TransformationBuilderInterface< traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t >
virtual ~TransformationBuilderInterface ()=default
 
virtual const Transformation< traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t > & get_transformation () const=0
 
virtual Transformation< traits::CrtpTraits< OperatorPair< Scalar > >::scalar_t > get_rotator (real_t alpha, real_t beta, real_t gamma) const=0
 
Transformation< traits::CrtpTraits< OperatorPair< 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< IndicesOfBlockget_indices_of_blocks (const std::vector< TransformationType > &labels) const=0
 

Additional Inherited Members

- Protected Member Functions inherited from pairinteraction::Operator< OperatorPair< Scalar > >
void initialize_as_energy_operator ()
 
void initialize_from_matrix (Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > &&matrix)
 
- Protected Attributes inherited from pairinteraction::Operator< OperatorPair< Scalar > >
std::shared_ptr< const basis_tbasis
 
Eigen::SparseMatrix< scalar_t, Eigen::RowMajor > matrix
 

Detailed Description

template<typename Scalar>
class pairinteraction::OperatorPair< Scalar >

Definition at line 34 of file OperatorPair.hpp.

Member Typedef Documentation

◆ basis_t

template<typename Scalar >
using pairinteraction::OperatorPair< Scalar >::basis_t = typename traits::CrtpTraits<Type>::basis_t

Definition at line 39 of file OperatorPair.hpp.

◆ Type

template<typename Scalar >
using pairinteraction::OperatorPair< Scalar >::Type = OperatorPair<Scalar>

Definition at line 38 of file OperatorPair.hpp.

Constructor & Destructor Documentation

◆ OperatorPair() [1/2]

template<typename Scalar >
pairinteraction::OperatorPair< Scalar >::OperatorPair ( std::shared_ptr< const basis_t basis)

Definition at line 12 of file OperatorPair.cpp.

◆ OperatorPair() [2/2]

template<typename Scalar >
pairinteraction::OperatorPair< Scalar >::OperatorPair ( std::shared_ptr< const basis_t basis,
OperatorType  type 
)

Definition at line 16 of file OperatorPair.cpp.

References pairinteraction::ENERGY, and pairinteraction::Operator< OperatorPair< Scalar > >::initialize_as_energy_operator().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: