Cytnx v1.0.0
Loading...
Searching...
No Matches
Physics.hpp
Go to the documentation of this file.
1#ifndef CYTNX_PHYSICS_H_
2#define CYTNX_PHYSICS_H_
3
4#include "Type.hpp"
5#include "Device.hpp"
6#include "cytnx_error.hpp"
7#include <vector>
8#include <initializer_list>
9#include <string>
10
11#include "Tensor.hpp"
12#include "UniTensor.hpp"
13
14namespace cytnx {
15 namespace physics {
17
28 Tensor spin(const cytnx_double &S, const std::string &Comp, const int &device = Device.cpu);
29
31 Tensor spin(const cytnx_double &S, const char &Comp, const int &device = Device.cpu);
33
35
45 Tensor pauli(const std::string &Comp, const int &device = Device.cpu);
46
48 Tensor pauli(const char &Comp, const int &device = Device.cpu);
50
51#define kBoltz cytnx_double(1.380649e-23) // J/K
52#define hPlanck cytnx_double(6.62607015e-34) // J-s
53#define hBar cytnx_double(1.05457181e-34) // J-s
54
55 } // namespace physics
56} // namespace cytnx
57
58namespace cytnx {
59 namespace operators {
60
61 UniTensor Sz_shalf(const int &device = Device.cpu, const bool &conserve_qns = false);
62 UniTensor Sp_shalf(const int &device = Device.cpu, const bool &conserve_qns = false,
63 const std::string &aux_dir = "r");
64 UniTensor Sn_shalf(const int &device = Device.cpu, const bool &conserve_qns = false,
65 const std::string &aux_dir = "r");
66
67 } // namespace operators
68} // namespace cytnx
69
71namespace cytnx {
72 namespace qgates {
73 UniTensor pauli_x(const int &device = Device.cpu);
74 UniTensor pauli_y(const int &device = Device.cpu);
75 UniTensor pauli_z(const int &device = Device.cpu);
76 UniTensor hadamard(const int &device = Device.cpu);
77 UniTensor phase_shift(const cytnx_double &phase, const int &device = Device.cpu);
78 UniTensor swap(const int &device = Device.cpu);
79 UniTensor sqrt_swap(const int &device = Device.cpu);
80 UniTensor toffoli(const int &device = Device.cpu);
81 UniTensor cntl_gate_2q(const UniTensor &gate_1q);
82
83 } // namespace qgates
84
85} // namespace cytnx
87
88#endif // CYTNX_PHYSICS_H_
an tensor (multi-dimensional array)
Definition Tensor.hpp:33
An Enhanced tensor specifically designed for physical Tensor network simulation.
Definition UniTensor.hpp:2773
UniTensor Sn_shalf(const int &device=Device.cpu, const bool &conserve_qns=false, const std::string &aux_dir="r")
UniTensor Sp_shalf(const int &device=Device.cpu, const bool &conserve_qns=false, const std::string &aux_dir="r")
UniTensor Sz_shalf(const int &device=Device.cpu, const bool &conserve_qns=false)
Tensor pauli(const std::string &Comp, const int &device=Device.cpu)
create Pauli matrix.
Tensor spin(const cytnx_double &S, const std::string &Comp, const int &device=Device.cpu)
create Spin-S representation matrix.
Definition Accessor.hpp:12
Device_class Device
data on which devices.