SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Laboratory.hpp
Go to the documentation of this file.
1 
11 #ifndef LABORATORY_LABORATORY_HPP
12 #define LABORATORY_LABORATORY_HPP
13 
14 #include "../QuantumState/QuantumState.hpp"
15 #include "../QuantumSystem/QuantumSystem.hpp"
16 #include "../Info/Info.hpp"
17 #include <armadillo>
18 #include <type_traits>
19 
20 namespace solid
21 {
27 {
28 public:
43  template <template <typename> class T1, typename T2, typename T3 = arma::cx_double>
44  static typename std::conditional<std::is_same<T2, arma::cx_double>::value || std::is_same<T3, arma::cx_double>::value, arma::cx_double, double>::type
46 };
47 } // namespace solid
48 
49 #endif
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
Definition: Laboratory.cpp:18
contains static methods for measurement
Definition: Laboratory.hpp:26
general purpouse class for solving quantum systems
Definition: QuantumSystem.hpp:39