SOLIDstate
A C++ library for solid state physics
|
Adiabatic Solver header. More...
#include <AdiabaticSolver.hpp>
Public Member Functions | |
std::string | getLabel () override |
Get the Label object (IQuantumDynamicSolver override) More... | |
void | Propagate (double time, double dtime, QuantumDynamics< T1, T2, T3 > &qDynamics) |
Propagate the state \(|\psi\rangle\) (IQuantumDynamicSolver override) More... | |
Public Member Functions inherited from solid::IQuantumDynamicSolver< T1, T2, T3 > | |
virtual | ~IQuantumDynamicSolver () |
Static Public Attributes | |
static constexpr auto | label = "adia" |
label, default = "adia" More... | |
Adiabatic Solver header.
It propagates the state assuming that \(|\psi\rangle\) is a ground state \(|GS\rangle\) on the entire dynamics path:
\[ \hat H | GS \rangle = E_0 | GS \rangle \]
T1 | matrix type: arma::Mat and arma:SpMat are supported |
T2 | data type of QuantumSystem: double, std::complex<double> are supported |
T3 | data type of QuantumState: double, std::complex<double> are supported |
|
inlineoverridevirtual |
Get the Label object (IQuantumDynamicSolver override)
Implements solid::IQuantumDynamicSolver< T1, T2, T3 >.
|
inlinevirtual |
Propagate the state \(|\psi\rangle\) (IQuantumDynamicSolver override)
time | current time |
dtime | time step |
qDynamics | QuantumDynamics<T1,T2,T3> object |
Implements solid::IQuantumDynamicSolver< T1, T2, T3 >.
|
inlinestatic |
label, default = "adia"