![]() |
C++QEDCore
v2 Milestone 10
a framework for simulating open quantum dynamics – core
|
| ►Nbinary | Auxiliary tools for BinarySystem |
| CBase | Common base for all class-composed BinarySystems |
| CEmptyBase | Helper for class composition of BinarySystem |
| CExact | Implements the structure::Exact interface for a BinarySystem along the same lines as Base implements the structure::Averaged interface |
| CHamiltonian | Implements the structure::Hamiltonian interface for a BinarySystem |
| CLiouvillean | Implements the structure::Liouvillean interface for a BinarySystem |
| ►Nblitzplusplus | Comprises our own extensions to Blitz++ |
| ►Nbasi | The name of the namespace stands for BlitzArraySliceIterator |
| CConsistencyChecker | Checking the consistency of template arguments for use in slicing |
| CConsistencyChecker< RANK, boost::mpl::range_c< int, I1, I2 > > | Specialization necessary since boost::mpl::range_c cannot be sorted |
| CIndexer | Performs the slicing on an array already transposed by Transposer |
| CIterator | BlitzArraySliceIterator |
| CSize | A forwarding metafunction to boost::mpl::size |
| CTransposer | Class performing the “possible permutation” of the retained indices (cf. Synopsis) |
| CTransposerOrIndexerRankTooHighException | Exception thrown if the partial specialization of Transposer or Indexer for the given RANK does not exist |
| ►Nbasi_fast | Contains a “fast” version of BlitzArraySliceIterator |
| CIterator | “Fast” version of basi::Iterator relying on a pre-calculated set of slices stored by SlicesData |
| ►Nvfmsi | The name of the namespace stands for VectorFromMatrixSliceIterator |
| CLeft | Indicates composition from left |
| CLeftRight | Metafunction returning the appropriate set of retained index positions |
| CRight | Indicates composition from right |
| CBinaryArrayOrderingErrorException | Exception class thrown by binaryArray |
| CHalfCutTinyException | Exception class thrown by halfCutTiny |
| CNonContiguousStorageException | Exception class thrown by unaryArray & binaryArray |
| CSlicesData | Contains data for pre-calculated slices for basi_fast::Iterator |
| CTinyVectorLengthTraits | An indirection for accessing lengths of blitz::TinyVector at compile time |
| ►Ncomposite | Auxiliary tools to Composite |
| ►Nresult_of | |
| CMake | |
| CMakeConcrete | |
| C_ | Helper class to Composite |
| ►CBase | |
| CAverage | |
| CDisplayKey | |
| CNAvr | |
| CEmptyBase | |
| CExact | |
| CHamiltonian | |
| CLiouvillean | |
| CMaxRank | |
| CRankedBase | |
| CSubSystemFree | |
| CSubSystemsInteraction | |
| ►Ncpputils | Namespace comprising otherwise hard-to-classify generic utilities |
| CBooleanNegatedProxy | Bound to a boolean lvalue, it behaves like a boolean always with opposite value |
| CConverter | |
| CElementType | Template metafunction returning (by convention, as a member typedef type) the type of elements of the multi-array A |
| CException | The class that is (meant to be, at least) the base of all exceptions in the framework |
| CKeyPrinter | Stores and prints a “key” (a.k.a. legend) to data, that is, an explanation to each element of a certain range of data |
| CMultiIndexIterator | An iterator over all possible combinations of indices (a number of integers) between certain bounds |
| CRank | Template metafunction for the rank (arity) of the multi-array A |
| CTaggedException | Class reporting also the “what-ness” of the exception |
| CTypeID | Template metafunction providing an identifier string for the multi-array A |
| ►Nevolution | Auxiliary tools for the evolve functions |
| CPars | Aggregate of parameters pertaining to the highest level driver functions for quantum trajectories |
| ►Nevolved | Comprises utilities related to ODE adaptive evolution |
| CEvolved | A common interface for (adaptive stepsize) ODE drivers |
| CEvolvedIO | Class for serialization of Evolved states |
| CMaker | Factory class for Evolved types |
| CMakerGSL | Implements Maker and incorporates MakerGSL::_, the actual GSL-based implementation of the Evolved interface |
| CNonContiguousStorageException | Thrown if the array supplied to MakerGSL has non contiguous storage |
| CTimeStepBookkeeper | Bookkeeps the timestep-data of Evolved |
| ►Nfft | Fast Fourier transformation |
| CFFT_Exception | |
| ►Nformdouble | Comprises tools related to FormDouble |
| CBound | Essentially a compound of a FormDouble and a value of some double-based type (e.g. double, dcomp, std::vector<double>, etc.) |
| CZero | A dummy FormDouble used mainly for setting/getting the overallPrecision |
| ►Nlinalg | Contains utilities for linear algebra |
| CVectorSpace | Operator aggregate for a complex vector space built on top of Boost.Operator |
| ►Nmathutils | Comprises wrapper functions for mathematical functions taken from libraries (Boost.Math, GSL), and several other mathematical functions |
| CFactOverflow | |
| ►Nparameters | The parameter-bundle |
| CAttemptedRecreationOfParameterException | Thrown if a given Parameter name is attempted to be used more than once when pushing to ParameterTable |
| CException | |
| CNamedException | |
| CParameter | Template containing value for the given parameter |
| CParameter< formdouble::Zero > | Specialization which enables the setting of formdouble::FormDouble::overallPrecision in a read operation |
| CParameterBase | Common, template-parameter independent base class of Parameter, to be stored in a pointer-container in ParameterTable |
| CParameterTable | The parameter table according to which the command line will be parsed by update() |
| CUnrecognisedParameterException | Thrown if a certain Parameter name is not found in ParameterTable when subscripting |
| ►Nquantumdata | Comprises classes representing the state of composite quantum systems and providing various interfaces to manipulate this data |
| ►Nldo | Comprises tools related to LazyDensityOperator, like DiagonalIterator |
| CDiagonalIterator | Iterator for slices of a LazyDensityOperator that are diagonal in the dummy indices |
| ►Ntransformation | Comprises tools for metric transformations of NonOrthogonalStateVector and NonOrthogonalDensityOperator classes |
| CElementaryTraits | |
| CIdentity | |
| CTraits< CArray< TWO_TIMES_RANK > > | |
| CTraits< Identity< RANK > > | |
| CTraits< void(*)(const CArray< RANK > &, CArray< RANK > &) > | |
| CArrayBase | Comprises the common functionalities of StateVector and DensityOperator |
| CDensityOperator | Density operator of arbitrary arity |
| CLazyDensityOperator | Common interface for calculating quantum averages |
| CLazyDensityOperatorFFT_NotImplementedException | |
| CNonOrthogonalStateVector | |
| CParsFunctionScan | Parameter set for scanFunction |
| CStateVector | State vector of arbitrary arity |
| CTensorType | |
| CTypes | Basically only a metafunction defining types for higher-level constructs of arity RANK |
| CWignerFunctionKernelOld | |
| ►Nquantumoperator | Comprises modules representing operators of special structure (tridiagonal, sparse) over Hilbert spaces of arbitrary arity |
| CSigma | Stateless class implementing the unary quantumoperator |
| CTridiagonal | Class representing a (unary) tridiagonal matrix or direct product of such matrices |
| CTridiagonalHamiltonian | Implements the action of a Hamiltonian whose matrix consists of a sum of tridiagonal matrices |
| ►Nquantumtrajectory | Comprises modules representing trajectory drivers for simulating quantum systems |
| ►Ndisplay_densityoperator | Contains display_densityoperator::_ |
| C_ | Wraps common functionality of Master & EnsembleMCWF concerning display of quantum averages on the basis of density operators |
| ►Nensemble | Auxiliary tools to EnsembleMCWF |
| CBase | Less templatized base for EnsembleMCWF |
| ►Nmaster | Auxiliary tools to Master |
| CBase | The actual working base of Master in the case when blitzplusplus::basi::Iterator is used for implementing multi-matrix multiplications |
| CBaseFast | The actual working base of Master in the case when blitzplusplus::basi_fast::Iterator is used for implementing multi-matrix multiplications |
| CSystemNotApplicable | Thrown if the system is not applicable in Master-equation evolution |
| ►Nmcwf | Auxiliary tools to MCWF_Trajectory |
| CLogger | Essentially an aggregate of data fields for logging during a MCWF_Trajectory run |
| CPars | Aggregate of parameters pertaining to MCWF simulations |
| CEnsembleMCWF | Derived from trajectory::Ensemble < quantumdata::DensityOperator <RANK>& , const quantumdata::StateVector <RANK>& >, it implements an ensemble of MCWF trajectories started from a pure-state initial condition |
| CMaster | An Adaptive trajectory class representing Master equation evolution from a density-operator initial condition |
| CMCWF_Trajectory | Implements a single Monte Carlo wave-function trajectory |
| CProjectingMCWF_Trajectory | Derived from MCWF_Trajectory, this class uses a set of reference state-vectors to project the evolved state vector on |
| CQuantumTrajectory | Class hosting common code of MCWF_Trajectory and Master |
| CTimeAveragingMCWF_Trajectory | Derived from MCWF_Trajectory, this class in addition performs time averaging of the columns during trajectory display |
| ►Nrandomized | Randomized-bundle |
| CMaker | Factory class for Randomized types |
| CMakerGSL | Implements Maker by returning a class implementing the Randomized interface by GSL |
| CRandomized | A common interface for random-number generators |
| CRNGStateParsingException | |
| ►Nstructure | Comprises modules for describing quantum systems |
| ►Nlindblad | Tools for describing a single Lindblad operator |
| C_ | Class defining the virtual functions corresponding to a single Lindblad… |
| ►CBase | A class to encapsulate Base::LindbladNo, so that the latter has information about the number of Lindblads |
| CLindbladNo | A tagging class for Lindblad |
| ►Ntime | Comprises tools related to the description of different time-dependence levels |
| CDispatcher | Metafunction dispatching the three classes TwoTime, OneTime, & NoTime according to the template parameter TD |
| CDispatcherIsTimeDependent | Metafunction dispatching two OneTime & NoTime according to the template parameter IS_TIME_DEPENDENT |
| CDispatcherIsTwoTime | Metafunction dispatching two TwoTime & OneTime according to the template parameter IS_TWO_TIME |
| CAveraged | The interface every system that calculates and displays quantum averages must present towards the trajectory drivers |
| CAveragedCommon | The template-parameter independent base of Averaged |
| CAveragedTimeDependenceDispatched | Implements the general Liouvillean interface by dispatching the two possible time-dependence levels |
| CAveragesNumberMismatchException | Exception for LiouvilleanAveragedCommonRanked::average |
| CClonableElementAveraged | Besides being an ElementAveraged, it models the Clonable concept |
| CDynamicsBase | Provides services for dealing with frequency-like parameters, both real and complex, for all elements, frees and interactions alike, which are hence all derived from this class |
| CElementAveraged | An implementation of Averaged for the case when the number of quantum arevages is known @ compile time (which is very often the case with elements)… |
| CElementLiouvillean | An implementation of Liouvillean for the case when the number of Lindblads is known @ compile time (which is very often the case with elements)… |
| CElementLiouvillean< RANK, 1, IS_TIME_DEPENDENT > | A specialization of ElementLiouvillean for the case of a single Lindblad |
| CElementLiouvilleanAveragedCommon | Implements LiouvilleanAveragedCommon::displayKey and LiouvilleanAveragedCommon::nAvr with the help of a cpputils::KeyPrinter |
| CElementLiouvilleanException | Thrown if the Lindblad index is not smaller than the total number of Lindblads |
| CElementLiouvilleanStrategies | Besides ElementLiouvillean, this is another solution based on the strategy idiom to control the number of Lindblads @ compile time |
| CExact | The interface every system that needs transformation between two quantum mechanical pictures must present towards the trajectory drivers |
| CExactCommon | The template-parameter-independent base of Exact |
| CExactTimeDependenceDispatched | Implements the general Exact interface by dispatching the two possible time-dependence levels |
| CFree | In the language of the framework, a free system is a unary system (arity 1, RANK=1) |
| CFreeExact | A unary implementation of Exact assuming that the operator that transforms between the pictures is diagonal |
| CHamiltonian | The interface every system having (possibly non-Hermitian) Hamiltonian time-evolution must present towards the trajectory drivers |
| CHamiltonianTimeDependenceDispatched | Implements the general Hamiltonian interface by dispatching the different time-dependence levels |
| CInfiniteDetectedException | Exception for LiouvilleanAveragedCommonRanked::average |
| ►CInteraction | Describes interaction of Free elements |
| CFreesProxy | Shared-pointerizes the elements passed as Frees |
| CLiouvillean | The interface every system having Liouvillean time-evolution must present towards the trajectory drivers |
| CLiouvilleanAveragedCommon | The template-parameter independent part of LiouvilleanAveragedCommonRanked |
| CLiouvilleanAveragedCommonRanked | Common functionality of Liouvillean & Averaged |
| CLiouvilleanAveragedTag_ | A tagging struct corresponding to LiouvilleanAveragedTag |
| CLiouvilleanTimeDependenceDispatched | Implements the general Liouvillean interface by dispatching the two possible time-dependence levels |
| CNoTime | Describes no-time dependence corresponding to the case NO_TIME |
| COneTime | Describes one-time dependence corresponding to the case ONE_TIME |
| CQuantumSystem | The abstract interface every system has to present towards the quantum trajectory drivers quantumtrajectory::MCWF_Trajectory, quantumtrajectory::EnsembleMCWF, and quantumtrajectory::Master |
| CQuantumSystemWrapper | A wrapper for Exact, Hamiltonian, Liouvillean, and Averaged |
| CTwoTime | Describes two-time dependence corresponding to the case TWO_TIME |
| ►Ntmptools | Template metaprogramming tools |
| CAssertEvenAndDivideBy2 | Provokes a compile-time error if N is not even, otherwise acts as a Boost.MPL int_ integral constant wrapper of N/2 |
| CConditionalAddConst | Applies add_const if ADD_CONST = true |
| Cnumerical_contains | Determines whether a compile-time sequence “numerically contains” a given value |
| Cnumerical_contains_c | The _c version of numerical_contains, which expects a value instead of an integral constant wrapper |
| Cnumerical_equal | Determines the numerical equality of two compile-time sequences |
| COrdinals | Sequence of ordinals 0 ... N-1 based on Range |
| Cpair_c | A compile-time pair of integers |
| Cpair_c< N1, N2, false > | A non-exclusive pair_c that allows the members to be equal |
| Cpair_c< N1, N2, true > | An exclusive pair_c that provokes a compile-time error if the members are equal |
| CPower | Calculates the power @ compile time |
| CRange | An integer range_c starting with Nbeg and having N elements (Nbeg ... Nbeg+N-1) |
| CRemoveConstReference | Combines remove_const and remove_reference |
| CVector | A non-negative compile-time vector |
| ►Ntrajectory | The trajectory-bundle |
| ►Nensemble | Contains important helpers to Ensemble |
| CBase | A base-class to Ensemble with customized behaviour according to the type of T |
| CTraits | Traits class governing how to average up several T_ELEM types into a T type in the most efficient way (which is usually not with the naive addition operator) |
| CAdaptive | Adaptive is basically an evolved::Evolved wrapped into the Trajectory interface |
| CAdaptiveIO | Corresponds to evolved::EvolvedIO, adding the capability of state serialization involving a SerializationMetadata instant |
| CAverageable | The very general concept of an averageable trajectory |
| CDimensionsMismatchException | Raised when the dimensions of a trajectory state we try to read in from file does not match |
| CEnsemble | An ensemble of Averageable trajectories providing services for ensemble averaging and evolving the element trajectories serially |
| CPars | An example of a simple unification of Pars… classes, here ParsRun & ParsEvolved |
| CParsEvolved | Aggregate condensing parameters concerning adaptive ODE evolution (cf. Adaptive::Adaptive()) in the style of a parameters::ParameterTable |
| CParsRun | Parameters corresponding to the different versions of run() |
| CParsStochastic | Aggregate of parameters pertaining to stochastic simulations |
| CRankMismatchException | Raised when the rank of a trajectory we try to read in from file does not match |
| CSerializationMetadata | Aggregate of information about a trajectory-state archive |
| CSimulated | Class fully implementing the Adaptive interface by displaying (and serializing) the whole content of the evolved array |
| CStateFileOpeningException | |
| CStochastic | Represents a trajectory that has both adaptive ODE evolution and noise |
| CStoppingCriterionReachedException | |
| CTrajectory | The base class of the trajectory-bundle condensing the quintessential characteristics of any trajectory |
| CTrajectoryFileOpeningException | |
| CTrajectoryMismatchException | Raised when the trajectory type we try to read in from file does not match |
| CBinarySystem | Implements the simplest composite system: a binary where a single binary::Interaction couples two free systems |
| CComposite | Class representing a full-fledged composite quantum system defined by a network of interactions |
| CDimensionalityMismatchException | Thrown in the case of dimensionality mismatch of constructs over the same Hilbert space |
| CDimensionsBookkeeper | Stores and manipulates dimensions of constructs over composite Hilbert spaces of arbitrary arity |
| CFormDouble | Class representing formatting options for output (stearming) of doubles |
| CTridiagonalConsistencyErrorException | |
| CTridiagonalStructureMismatchException | |
| CTridiagonalTimeMismatchException |
