SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Public Attributes | List of all members
solid::QuantumSystem< T1, T2 > Class Template Reference

general purpouse class for solving quantum systems More...

#include <QuantumSystem.hpp>

Collaboration diagram for solid::QuantumSystem< T1, T2 >:
Collaboration graph
[legend]

Public Member Functions

void Fill ()
 fills matrixElements for selected Hamiltonian, with respect to HilbertSpace (Ensemble) and system Parameters More...
 
template<class Ens , typename... Targs>
void SelectEnsemble (Targs...Fargs)
 selects Ensemble for QuantumSystem More...
 
template<template< template< typename > class, typename > class Ham>
void SelectHamiltonian ()
 selects IHamiltonian for QuantumSystem More...
 
template<template< template< typename > class, typename > class Obs, typename... Targs>
void SelectObservable (Targs...Fargs)
 selects Observable for QuantumSystem More...
 
void SelectParameters (Parameters< T2 > &parameters)
 Select Parameters of the QuantumSystem. More...
 
void SelectParameters (Geometry< T2 > &geometry)
 Select Geometry (predefined Parameters) More...
 

Public Attributes

HilbertSpace hilbertSpace
 selected HilbertSpace for the QuantumSystem More...
 
Operator< T1, T2 > hamiltonian
 container for matrixElements More...
 
Parameters< T2 > parameters
 Parameters for hamiltonian. More...
 

Detailed Description

template<template< typename > class T1, typename T2>
class solid::QuantumSystem< T1, T2 >

general purpouse class for solving quantum systems

Template Parameters
T1matrix type: arma::Mat and arma:SpMat are supported
T2data type: double, std::complex<double> are supported

class contains:

Member Function Documentation

template<template< typename > class T1, typename T2 >
void solid::QuantumSystem< T1, T2 >::Fill ( )

fills matrixElements for selected Hamiltonian, with respect to HilbertSpace (Ensemble) and system Parameters

template<template< typename > class T1, typename T2 >
template<class Ens , typename... Targs>
void solid::QuantumSystem< T1, T2 >::SelectEnsemble ( Targs...  Fargs)

selects Ensemble for QuantumSystem

Template Parameters
EnsEnsemble template (e.g. GrandCanonical, Canonical)
TargsEnsemble specific argument types
Parameters
FargsEnsemble specific arguments (e.g. number of particles \(N\) or parity)
template<template< typename > class T1, typename T2 >
template<template< template< typename > class, typename > class Ham>
void solid::QuantumSystem< T1, T2 >::SelectHamiltonian ( )

selects IHamiltonian for QuantumSystem

Template Parameters
HamIHamiltonian template (e.g. KitaevHamiltonian)
template<template< typename > class T1, typename T2 >
template<template< template< typename > class, typename > class Obs, typename... Targs>
void solid::QuantumSystem< T1, T2 >::SelectObservable ( Targs...  Fargs)

selects Observable for QuantumSystem

Template Parameters
ObsObservable template
TargsObservable specific argument types
Parameters
FargsObservable specific arguments (e.g. number of sites \(L\))
template<template< typename > class T1, typename T2 >
void solid::QuantumSystem< T1, T2 >::SelectParameters ( Parameters< T2 > &  parameters)

Select Parameters of the QuantumSystem.

Parameters
parametersParameters
template<template< typename > class T1, typename T2 >
void solid::QuantumSystem< T1, T2 >::SelectParameters ( Geometry< T2 > &  geometry)

Select Geometry (predefined Parameters)

Parameters
geometryGeometry

Member Data Documentation

template<template< typename > class T1, typename T2>
Operator<T1, T2> solid::QuantumSystem< T1, T2 >::hamiltonian

container for matrixElements

template<template< typename > class T1, typename T2>
HilbertSpace solid::QuantumSystem< T1, T2 >::hilbertSpace

selected HilbertSpace for the QuantumSystem

template<template< typename > class T1, typename T2>
Parameters<T2> solid::QuantumSystem< T1, T2 >::parameters

Parameters for hamiltonian.


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