C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
quantumoperator::TridiagonalHamiltonian< RANK, IS_TIME_DEPENDENT > Class Template Reference

Implements the action of a Hamiltonian whose matrix consists of a sum of tridiagonal matrices. More...

#include <TridiagonalHamiltonian.h>

+ Inheritance diagram for quantumoperator::TridiagonalHamiltonian< RANK, IS_TIME_DEPENDENT >:
+ Collaboration diagram for quantumoperator::TridiagonalHamiltonian< RANK, IS_TIME_DEPENDENT >:

Public Types

typedef Base::Tridiagonal Tridiagonal
 
typedef Base::Tridiagonals Tridiagonals
 

Public Member Functions

 TridiagonalHamiltonian (const Tridiagonals &hOverIs)
 Generic constructor.
 
 TridiagonalHamiltonian (const Tridiagonal &hOverI)
 

Detailed Description

template<int RANK, bool IS_TIME_DEPENDENT>
class quantumoperator::TridiagonalHamiltonian< RANK, IS_TIME_DEPENDENT >

Implements the action of a Hamiltonian whose matrix consists of a sum of tridiagonal matrices.

\[H_\text{tridiagonals}(t)=H_0(t)+H_1(t)+H_2(t)+\dots\]

with the $H_i(t)$s being all described by Tridiagonal <RANK> objects.

Such a class can be constructed with either a list of Tridiagonal <RANK> objects, or only one such object when the above sum consists of only one term.

Template Parameters
RANKarity of the Hilbert space
IS_TIME_DEPENDENTgoverns time-dependence & the composition of the class @ compile time

Implements Hamiltonian <RANK,ONE_TIME> when IS_TIME_DEPENDENT=true OR Hamiltonian <RANK,NO_TIME> when IS_TIME_DEPENDENT=false

Note
The present architecture of Tridiagonal does not allow to cover the case structure::TWO_TIME.

Definition at line 77 of file TridiagonalHamiltonian.h.

Constructor & Destructor Documentation

template<int RANK, bool IS_TIME_DEPENDENT>
quantumoperator::TridiagonalHamiltonian< RANK, IS_TIME_DEPENDENT >::TridiagonalHamiltonian ( const Tridiagonal hOverI)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 87 of file TridiagonalHamiltonian.h.


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