C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
quantumoperator::Sigma< L, R > Class Template Reference

Stateless class implementing the unary quantumoperator $\ket{L}\bra{R}$. More...

#include <Sigma.h>

Public Types

typedef quantumdata::Types< 1 >::StateVectorLow StateVectorLow
 

Public Member Functions

void apply (const StateVectorLow &psi, StateVectorLow &dpsidt) const
 Application of the operator on a state vector can be implemented trivially.
 
const Sigma< R, L > dagger () const
 Hermitian conjugation also trivial.
 

Static Public Attributes

static const int N_RANK =1
 

Related Functions

(Note that these are not member functions.)

template<int L, int R, typename OTHER >
const DirectProduct< L, R, OTHER, true > operator* (const Sigma< L, R > &, const OTHER &)
 Direct-product operator for Sigma. More...
 
template<int L, int R, typename OTHER >
const DirectProduct< L, R, OTHER, false > operator* (const OTHER &, const Sigma< L, R > &)
 Direct-product operator for Sigma. More...
 
template<int L1, int R1, int L2, int R2>
const DirectProduct< L1, R1, Sigma< L2, R2 >, true > operator* (const Sigma< L1, R1 > &, const Sigma< L2, R2 > &)
 Direct-product operator for Sigma. More...
 

Detailed Description

template<int L, int R>
class quantumoperator::Sigma< L, R >

Stateless class implementing the unary quantumoperator $\ket{L}\bra{R}$.

The template parameters are eventually converted to runtime data when the Sigma::apply function is called. At that point, dimensionality errors are detected in debug mode.

Note
Sigma should perhaps inherit from DimensionsBookkeeper as this would allow for an earlier detection of dimensionality errors.

Definition at line 54 of file Sigma.h.

Friends And Related Function Documentation

template<int L, int R, typename OTHER >
const DirectProduct< L, R, OTHER, true > operator* ( const Sigma< L, R > &  ,
const OTHER &   
)
related

Direct-product operator for Sigma.

Together with its overloads, this operator aptly demonstrates the use of DirectProduct and the meaning of its template parameters.

Mixing (by composition from the right) version.

Template Parameters
OTHERthe other operator type to mix with
template<int L, int R, typename OTHER >
const DirectProduct< L, R, OTHER, false > operator* ( const OTHER &  ,
const Sigma< L, R > &   
)
related

Direct-product operator for Sigma.

Together with its overloads, this operator aptly demonstrates the use of DirectProduct and the meaning of its template parameters.

Mixing (by composition from the left) version.

Template Parameters
OTHERthe other operator type to mix with
template<int L1, int R1, int L2, int R2>
const DirectProduct< L1, R1, Sigma< L2, R2 >, true > operator* ( const Sigma< L1, R1 > &  ,
const Sigma< L2, R2 > &   
)
related

Direct-product operator for Sigma.

Homogeneous (non-mixing) version.


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