SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Static Public Member Functions | List of all members
solid::Laboratory Class Reference

contains static methods for measurement More...

#include <Laboratory.hpp>

Static Public Member Functions

template<template< typename > class T1, typename T2 , typename T3 = arma::cx_double>
static std::conditional
< std::is_same< T2,
arma::cx_double >::value||std::is_same
< T3, arma::cx_double >::value,
arma::cx_double, double >
::type 
Measure (QuantumSystem< T1, T2 > &, QuantumState< T3 > &)
 measures dot product between QuantumState and QuantumSystem More...
 

Detailed Description

contains static methods for measurement

Member Function Documentation

template<template< typename > class T1, typename T2 , typename T3 >
std::conditional< std::is_same< T2, arma::cx_double >::value||std::is_same< T3, arma::cx_double >::value, arma::cx_double, double >::type solid::Laboratory::Measure ( QuantumSystem< T1, T2 > &  qSystem,
QuantumState< T3 > &  qState 
)
static

measures dot product between QuantumState and QuantumSystem

Template Parameters
T1matrix type: arma::Mat and arma:SpMat are supported
T2data type: double, std::complex<double> are supported
Returns
T2 returns scalar product < QuantumState | QuantumSystem | QuantumState >

Returns \(\langle \psi | \hat {\mathcal O} | \psi \rangle \), where \(|\psi\rangle\) is QuantumState and \(\hat {\mathcal O}\) are current matrixElements in QuantumSystem

Note
Return type is deduced based on the types of QuantumSystem and QuantumState. If any of them is complex type: arma::cx_double, than return type is deduced as arma::cx_double

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