C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
quantumdata::NonOrthogonalStateVector< RANK, TRAFO > Class Template Reference
+ Inheritance diagram for quantumdata::NonOrthogonalStateVector< RANK, TRAFO >:
+ Collaboration diagram for quantumdata::NonOrthogonalStateVector< RANK, TRAFO >:

Public Types

typedef StateVector< RANK > Base
 
typedef Base::Dimensions Dimensions
 
typedef Base::StateVectorLow StateVectorLow
 
typedef Base::DensityOperatorLow DensityOperatorLow
 
typedef Base::Idx Idx
 
typedef TRAFO Trafo
 
typedef transformation::Traits< Trafo > TrafoTraits
 
- Public Types inherited from quantumdata::StateVector< RANK >
typedef LazyDensityOperator< RANK > LDO_Base
 
typedef ArrayBase< RANK > ABase
 
typedef LDO_Base::Dimensions Dimensions
 
typedef ABase::ArrayLow StateVectorLow
 
typedef Types< RANK >::DensityOperatorLow DensityOperatorLow
 
typedef LDO_Base::Idx Idx
 
- Public Types inherited from quantumdata::LazyDensityOperator< RANK >
typedef boost::shared_ptr< const LazyDensityOperatorPtr
 Many class templates in the framework define shared pointers to their own types, in a template-metafunction like manner.
 
typedef DimensionsBookkeeper< RANK, true > Base
 
typedef Base::Dimensions Dimensions
 Inherited from DimensionsBookkeeper.
 
typedef IdxTiny< RANK > Idx
 The type used for indexing the “rows” and the “columns”: a tiny vector of integers (multi-index)
 
- Public Types inherited from DimensionsBookkeeper< RANK, true >
typedef ExtTiny< RANK > Dimensions
 The dimensions as a static vector of size N_RANK.
 

Public Member Functions

 NonOrthogonalStateVector (const StateVectorLow &psi, const Trafo &tf, ByReference)
 
 NonOrthogonalStateVector (const Dimensions &dimensions, const Trafo &tf, bool init=true)
 
 NonOrthogonalStateVector (const NonOrthogonalStateVector &sv)
 
double norm () const
 
void update () const
 
const StateVectorLow & dual () const
 
const Trafo & getTrafo () const
 
template<typename OTHER >
NonOrthogonalStateVectoroperator= (const OTHER &other)
 
NonOrthogonalStateVectoroperator+= (const NonOrthogonalStateVector &psi)
 
NonOrthogonalStateVectoroperator-= (const NonOrthogonalStateVector &psi)
 
const NonOrthogonalStateVector operator- () const
 
const NonOrthogonalStateVector operator+ () const
 
template<typename OTHER >
NonOrthogonalStateVectoroperator*= (const OTHER &dc)
 
template<typename OTHER >
NonOrthogonalStateVectoroperator/= (const OTHER &dc)
 
void addTo (NonOrthogonalDensityOperator< RANK > &) const
 
- Public Member Functions inherited from quantumdata::StateVector< RANK >
void addTo (DensityOperator< RANK > &densityOperator) const
 Adds a dyad of the present object to densityOperator More...
 
void debug () const
 
 StateVector (const StateVectorLow &psi, ByReference)
 Constructs the class in such a way that the underlying data reference the same data as psi. More...
 
 StateVector (const Dimensions &, bool init=true)
 Constructs the class with a newly allocated chunk of memory, which is initialized only if init is true.
 
 StateVector (const StateVector &)
 Copy constructor using by value semantics, that is, deep copy.
 
template<int RANK2>
 StateVector (const StateVector< RANK2 > &, const StateVector< RANK-RANK2 > &)
 Constructs the class as the direct product of psi1 and psi2, whose arities add up to RANK. More...
 
StateVectoroperator= (const StateVector &sv)
 Assignment with by-value semantics. More...
 
template<typename OTHER >
StateVectoroperator= (const OTHER &other)
 Mixed-mode assignment with by-value semantics. More...
 
template<typename... SubscriptPack>
const dcompoperator() (int s0, SubscriptPack...subscriptPack) const
 Multi-array style subscription. More...
 
template<typename... SubscriptPack>
dcompoperator() (int s0, SubscriptPack...subscriptPack)
 
 
double norm () const
 Returns the norm $\norm\Psi$. More...
 
double renorm ()
 ” and also renormalises
 
const DensityOperatorLow dyad (const StateVector &) const
 Forms a dyad with the argument. More...
 
const DensityOperatorLow dyad () const
 dyad with the object itself
 
StateVectoroperator+= (const StateVector &psi)
 
StateVectoroperator-= (const StateVector &psi)
 
const StateVector operator- () const
 involves a deep-copy
 
const StateVector operator+ () const
 simply deep copy
 
template<typename OTHER >
StateVectoroperator*= (const OTHER &dc)
 
template<typename OTHER >
StateVectoroperator/= (const OTHER &dc)
 
- Public Member Functions inherited from quantumdata::LazyDensityOperator< RANK >
const IndexerProxy operator() (const Idx &firstIndex) const
 Multi-matrix style indexing via Idx type.
 
template<typename... SubscriptPack>
const IndexerProxy operator() (int s0, SubscriptPack...subscriptPack) const
 Multi-matrix style indexing via packs of integers. More...
 
double trace () const
 Returns the trace (redirected to a pure virtual)
 
template<typename V >
const ldo::DiagonalIterator< RANK, V > begin () const
 Return the ldo::DiagonalIterator corresponding to the beginning of the sequence of slices defined by V More...
 
template<typename V >
const ldo::DiagonalIterator< RANK, V > end () const
 ” for the end
 
- Public Member Functions inherited from DimensionsBookkeeper< RANK, true >
 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.
 

Additional Inherited Members

- Static Public Attributes inherited from quantumdata::StateVector< RANK >
static const int N_RANK =RANK
 
- Static Public Attributes inherited from DimensionsBookkeeper< RANK, true >
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).
 
- Protected Member Functions inherited from quantumdata::LazyDensityOperator< RANK >
 LazyDensityOperator (const Dimensions &dims)
 

Detailed Description

template<int RANK, typename TRAFO>
class quantumdata::NonOrthogonalStateVector< RANK, TRAFO >

Definition at line 18 of file NonOrthogonalStateVector.h.


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