4 #ifndef CPPQEDCORE_STRUCTURE_LIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
5 #define CPPQEDCORE_STRUCTURE_LIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
7 #include "LiouvilleanAveragedCommonFwd.h"
15 #include <boost/shared_ptr.hpp>
26 template<LiouvilleanAveragedTag>
32 const LA_Li_tagType LA_Li_tag;
33 const LA_Av_tagType LA_Av_tag;
40 typedef boost::shared_ptr<const LiouvilleanAveragedCommon> Ptr;
53 )
const {
return displayKey_v(o,i);}
60 size_t nAvr()
const {
return nAvr_v();}
63 virtual std::ostream& displayKey_v(std::ostream&,
size_t&)
const = 0;
64 virtual size_t nAvr_v ( )
const = 0;
88 typedef boost::shared_ptr<const LiouvilleanAveragedCommonRanked> Ptr;
106 const LazyDensityOperator& matrix
109 const DArray1D averages(average_v(t,matrix));
117 virtual const DArray1D average_v(
double,
const LazyDensityOperator&)
const = 0;
126 #endif // CPPQEDCORE_STRUCTURE_LIOUVILLEANAVERAGEDCOMMON_H_INCLUDED
The class that is (meant to be, at least) the base of all exceptions in the framework.
Defines class of the same name.
DArray< 1 > DArray1D
A 1D real array storing the quantum averages – even if they are complex, their real & imaginary part...
A tagging struct corresponding to LiouvilleanAveragedTag.
std::ostream & displayKey(std::ostream &o, size_t &i) const
Displays a key (a.k.a. legend)
blitz::Array< double, RANK > DArray
An array of doubles of arbitrary arity.
Comprises modules for describing quantum systems.
size_t nAvr(const SSF &free0, const SSF &free1, const SSI &ia)
Outfactored common functionality of Liouvillean and Averaged.
Common interface for calculating quantum averages.
Exception for LiouvilleanAveragedCommonRanked::average.
The template-parameter independent part of LiouvilleanAveragedCommonRanked.
Exception for LiouvilleanAveragedCommonRanked::average.
Declares extensions for creating vector & matrix views of blitz::Arrays.
LiouvilleanAveragedTag
Enumeration describing a (compile-time) choice between Liouvillean & Averaged.
Common functionality of Liouvillean & Averaged.
Defines tentative base classes for the exception classes of the framework.
size_t nAvr() const
Returns the number of calculated quantum averages.
Defines template aliases for real and complex arrays.
const DArray1D average(double t, const LazyDensityOperator &matrix) const
Calculates quantum averages & checks post-conditions.