An implementation of Liouvillean for the case when the number of Lindblads is known @ compile time (which is very often the case with elements)… More...
#include <ElementLiouvillean.h>
Public Types | |
typedef Base::StateVectorLow | StateVectorLow |
typedef Base::LazyDensityOperator | LazyDensityOperator |
typedef Base::Rates | Rates |
typedef Base::Time | Time |
Public Types inherited from structure::ElementLiouvilleanAveragedCommon< LiouvilleanTimeDependenceDispatched< RANK, IS_TIME_DEPENDENT > > | |
typedef cpputils::KeyPrinter::KeyLabels | KeyLabels |
typedef cpputils::KeyPrinter::KeyLabelsInitializer | KeyLabelsInitializer |
Public Types inherited from structure::LiouvilleanTimeDependenceDispatched< RANK, IS_TIME_DEPENDENT > | |
typedef Liouvillean< RANK >::StateVectorLow | StateVectorLow |
typedef Liouvillean< RANK >::LazyDensityOperator | LazyDensityOperator |
typedef Liouvillean< RANK >::Rates | Rates |
typedef time::DispatcherIsTimeDependent< IS_TIME_DEPENDENT >::type | Time |
Public Types inherited from structure::Liouvillean< RANK > | |
typedef boost::shared_ptr< const Liouvillean > | Ptr |
typedef quantumdata::StateVector< RANK > | StateVector |
typedef Base::StateVectorLow | StateVectorLow |
typedef Base::DensityOperatorLow | DensityOperatorLow |
typedef Base::LazyDensityOperator | LazyDensityOperator |
typedef Base::DArray1D | Rates |
The 1D real array for storing the jump rates. | |
Public Types inherited from quantumdata::Types< RANK, LiouvilleanAveragedCommonRanked< RANK > > | |
typedef CArray< RANK > | StateVectorLow |
typedef CArray< 2 *RANK > | DensityOperatorLow |
Public Types inherited from structure::lindblad::_< RANK, NLINDBLADS-1, false > | |
typedef time::DispatcherIsTimeDependent< IS_TIME_DEPENDENT >::type | Time |
Protected Member Functions | |
template<typename... KeyLabelsPack> | |
ElementLiouvillean (const std::string &keyTitle, KeyLabelsPack &&...keyLabelsPack) | |
ElementLiouvillean (const std::string &keyTitle, typename Base::KeyLabelsInitializer il) | |
Protected Member Functions inherited from structure::ElementLiouvilleanAveragedCommon< LiouvilleanTimeDependenceDispatched< RANK, IS_TIME_DEPENDENT > > | |
ElementLiouvilleanAveragedCommon (const std::string &keyTitle, KeyLabelsPack &&...keyLabelsPack) | |
redirect to cpputils::KeyPrinter More... | |
ElementLiouvilleanAveragedCommon (const std::string &keyTitle, KeyLabelsInitializer il) | |
redirect to cpputils::KeyPrinter More... | |
Additional Inherited Members | |
Public Member Functions inherited from structure::ElementLiouvilleanAveragedCommon< LiouvilleanTimeDependenceDispatched< RANK, IS_TIME_DEPENDENT > > | |
const std::string & | getTitle () const |
redirect to cpputils::KeyPrinter | |
const KeyLabels & | getLabels () const |
redirect to cpputils::KeyPrinter More... | |
Public Member Functions inherited from structure::Liouvillean< RANK > | |
const Rates | rates (double t, const StateVector &psi) const |
Returns the set of jump rates where the Lindblads are in general time-dependent. More... | |
void | actWithJ (double t, StateVectorLow &psi, size_t m) const |
Performs the quantum jump operation . More... | |
Public Member Functions inherited from structure::lindblad::_< RANK, NLINDBLADS-1, false > | |
void | typeErasedActWithJ (Time t, typename quantumdata::Types< RANK >::StateVectorLow &psi) const |
calls the virtual doActWithJ for the given LINDBLAD_ORDINAL | |
double | typeErasedRate (Time t, const quantumdata::LazyDensityOperator< RANK > &matrix) const |
calls the virtual rate for the given LINDBLAD_ORDINAL | |
Static Public Attributes inherited from structure::Liouvillean< RANK > | |
static const int | N_RANK =RANK |
An implementation of Liouvillean for the case when the number of Lindblads is known @ compile time (which is very often the case with elements)…
… if this is not the case, Liouvillean has to be used.
The class relies on lindblad::_ to declare a pair of purely virtual functions doActWithJ
and rate
for each Lindblad between 0 and NLINDBLADS-1. The virtuals average_v
and actWithJ_v
inherited from Liouvillean are defined in terms of these purely virtual functions.
RANK | arity of the Hilbert space |
NLINDBLADS | the total number of Lindblads |
IS_TIME_DEPENDENT | governs time dependence |
Definition at line 94 of file ElementLiouvillean.h.