27 #ifndef CLASSES_STATES_H_
28 #define CLASSES_STATES_H_
94 x0 << 1 / std::sqrt(2.), 1 / std::sqrt(2.);
95 x1 << 1 / std::sqrt(2.), -1 / std::sqrt(2.);
96 y0 << 1 / std::sqrt(2.), 1_i / std::sqrt(2.);
97 y1 << 1 / std::sqrt(2.), -1_i / std::sqrt(2.);
110 b00 << 1 / std::sqrt(2.), 0, 0, 1 / std::sqrt(2.);
112 b01 << 0, 1 / std::sqrt(2.), 1 / std::sqrt(2.), 0;
114 b10 << 1 / std::sqrt(2.), 0, 0, -1 / std::sqrt(2.);
116 b11 << 0, 1 / std::sqrt(2.), -1 / std::sqrt(2.), 0;
124 GHZ << 1, 0, 0, 0, 0, 0, 0, 1;
125 GHZ =
GHZ / std::sqrt(2.);
126 W << 0, 1, 1, 0, 1, 0, 0, 0;
127 W =
W / std::sqrt(3.);
130 pW =
W *
W.adjoint();
ket W
W state.
Definition: states.h:82
cmat pb01
Projector onto the Bell-01 state.
Definition: states.h:76
ket GHZ
GHZ state.
Definition: states.h:81
cmat pb11
Projector onto the Bell-11 state.
Definition: states.h:78
Singleton policy class, used internally to implement the singleton pattern via CRTP (Curiously recurr...
Definition: singleton.h:77
Eigen::VectorXcd ket
Complex (double precision) dynamic Eigen column vector.
Definition: types.h:56
ket y0
Pauli Sigma-Y 0-eigenstate |y+>
Definition: states.h:45
Quantum++ main namespace.
Definition: codes.h:30
const Singleton class that implements most commonly used states
Definition: states.h:37
cmat pb00
Projector onto the Bell-00 state.
Definition: states.h:75
ket z1
Pauli Sigma-Z 1-eigenstate |1>
Definition: states.h:48
ket b01
Bell-01 state (following the convention in Nielsen and Chuang)
Definition: states.h:67
ket b00
Bell-00 state (following the convention in Nielsen and Chuang)
Definition: states.h:65
cmat pb10
Projector onto the Bell-10 state.
Definition: states.h:77
cmat pW
Projector onto the W state.
Definition: states.h:86
~States()=default
Default destructor.
cmat py0
Projector onto the Pauli Sigma-Y 0-eigenstate |y+>
Definition: states.h:55
cmat px0
Projector onto the Pauli Sigma-X 0-eigenstate |+><+|.
Definition: states.h:51
ket x1
Pauli Sigma-X 1-eigenstate |->
Definition: states.h:44
ket y1
Pauli Sigma-Y 1-eigenstate |y->
Definition: states.h:46
ket z0
Pauli Sigma-Z 0-eigenstate |0>
Definition: states.h:47
ket b11
Bell-11 state (following the convention in Nielsen and Chuang)
Definition: states.h:71
cmat pz0
Projector onto the Pauli Sigma-Z 0-eigenstate |0><0|.
Definition: states.h:59
cmat pGHZ
Projector onto the GHZ state.
Definition: states.h:85
Eigen::MatrixXcd cmat
Complex (double precision) dynamic Eigen matrix.
Definition: types.h:66
ket b10
Bell-10 state (following the convention in Nielsen and Chuang)
Definition: states.h:69
ket x0
Pauli Sigma-X 0-eigenstate |+>
Definition: states.h:43
cmat py1
Projector onto the Pauli Sigma-Y 1-eigenstate |y->
Definition: states.h:57
cmat px1
Projector onto the Pauli Sigma-X 1-eigenstate |-><-|.
Definition: states.h:53
cmat pz1
Projector onto the Pauli Sigma-Z 1-eigenstate |1><1|.
Definition: states.h:61
States()
Definition: states.h:91