C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
binary::Base Class Reference

Common base for all class-composed BinarySystems. More...

#include <BinarySystem.h>

+ Inheritance diagram for binary::Base:
+ Collaboration diagram for binary::Base:

Protected Types

typedef structure::Averaged< 1 > Av1
 
typedef structure::Averaged< 2 > Av2
 

Protected Member Functions

 Base (Interaction::Ptr)
 Constructor from an Interaction instant.
 
Getters
const SSFgetFree0 () const
 
const SSFgetFree1 () const
 
const SSIgetIA () const
 

Additional Inherited Members

- Public Types inherited from structure::QuantumSystem< 2 >
typedef boost::shared_ptr< const QuantumSystemPtr
 Many of the basic template classes in the framework act as template metafunctions returning a shared pointer to their own type. More...
 
typedef Base::Dimensions Dimensions
 
- Public Types inherited from DimensionsBookkeeper< RANK >
typedef ExtTiny< RANK > Dimensions
 The dimensions as a static vector of size N_RANK.
 
- Public Types inherited from structure::Averaged< 2 >
typedef boost::shared_ptr< const AveragedPtr
 
typedef AveragedCommon::Averages Averages
 
typedef quantumdata::LazyDensityOperator< RANK > LazyDensityOperator
 
- Public Types inherited from quantumdata::Types< RANK, LiouvilleanAveragedCommonRanked< RANK > >
typedef CArray< RANK > StateVectorLow
 
typedef CArray< 2 *RANK > DensityOperatorLow
 
- Public Types inherited from structure::AveragedCommon
typedef boost::shared_ptr< const AveragedCommonPtr
 
typedef LiouvilleanAveragedCommon::DArray1D Averages
 The 1D real array storing the calculated quantum averages (perhaps in real-imaginary pairs if a given average is complex).
 
- Public Member Functions inherited from structure::QuantumSystem< 2 >
 QuantumSystem (const Dimensions &dimensions)
 Construction from a set of Dimensions.
 
double highestFrequency () const
 The fastest timescale of the system for ODE stepping.
 
std::ostream & displayParameters (std::ostream &os) const
 Communicating system parameters towards the user.
 
- Public Member Functions inherited from DimensionsBookkeeper< RANK >
 DimensionsBookkeeper (mpl::bool_< IS_CONST >=mpl::false_())
 Constructor usable only in the IS_CONST=false case. More...
 
 DimensionsBookkeeper (const Dimensions &dimensions)
 Standard constructor usable also in the IS_CONST=true case.
 
const DimensionsgetDimensions () const
 Get the Dimensions vector.
 
size_t getTotalDimension () const
 Get the total dimension of a system of arbitrary arity.
 
size_t getDimension (mpl::int_< RANK >=mpl::int_< 1 >()) const
 Get the (single) dimension for a unary system.
 
size_t getDimension (size_t i) const
 
void setDimensions (const Dimensions &dimensions)
 This will work only in the non-const case.
 
- Public Member Functions inherited from structure::AveragedCommon
void process (Averages &averages) const
 This function is a hook between LiouvilleanAveragedCommonRanked::average and display. More...
 
std::ostream & display (const Averages &averages, std::ostream &os, int precision) const
 Displays the system characteristics in a nicely tabulated format. More...
 
- Static Public Attributes inherited from DimensionsBookkeeper< RANK >
static const int N_RANK
 Arity of the Hilbert space.
 
static const int DIMESIONS_BOOKKEEPER_RANK
 Ditto (to break ambiguity if a class is derived from another base featuring N_RANK).
 
- Static Public Attributes inherited from structure::Averaged< 2 >
static const int N_RANK
 

Detailed Description

Common base for all class-composed BinarySystems.

It implements only the structure::Averaged and structure::QuantumSystem interfaces, since all the other characteristics (structure::Exact, structure::Hamiltonian, structure::Liouvillean) will be added by class composition.

See also
explanation @ make()
Example

structure::Averaged::average is implemented by taking the corresponding LazyDensityOperator unary slices for the average functions of the two frees (if they derive from structure::Average at all), and passing the complete binary LazyDensityOperator to the average function of the interaction component.

See also
quantumdata::partialTrace

Definition at line 70 of file BinarySystem.h.


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