24 typedef std::shared_ptr<complex>
BitOp;
58 const std::vector<bool>& ctrlToggles = std::vector<bool>())
Half-precision floating-point type.
Definition: half.hpp:2206
GLOSSARY: bitLenInt - "bit-length integer" - unsigned integer ID of qubit position in register bitCap...
Definition: complex16x2simd.hpp:25
std::shared_ptr< HamiltonianOp > HamiltonianOpPtr
To define a Hamiltonian, give a vector of controlled single bit gates ("HamiltonianOp" instances) tha...
Definition: hamiltonian.hpp:121
std::shared_ptr< complex > BitOp
Definition: hamiltonian.hpp:24
void U(quid sid, bitLenInt q, real1_f theta, real1_f phi, real1_f lambda)
(External API) 3-parameter unitary gate
Definition: wasm_api.cpp:1199
std::complex< real1 > complex
Definition: qrack_types.hpp:140
std::vector< HamiltonianOpPtr > Hamiltonian
Definition: hamiltonian.hpp:122
#define bitLenInt
Definition: qrack_types.hpp:41
#define bitCapIntOcl
Definition: qrack_types.hpp:53
A Hamiltonian can be specified in terms of arbitrary controlled single bit gates, each one an "Hamilt...
Definition: hamiltonian.hpp:29
bool uniform
Definition: hamiltonian.hpp:32
std::vector< bool > toggles
Definition: hamiltonian.hpp:35
HamiltonianOp(bitLenInt target, BitOp mtrx)
Definition: hamiltonian.hpp:47
HamiltonianOp()
Definition: hamiltonian.hpp:37
std::vector< bitLenInt > controls
Definition: hamiltonian.hpp:34
bitLenInt targetBit
Definition: hamiltonian.hpp:30
BitOp matrix
Definition: hamiltonian.hpp:33
bool anti
Definition: hamiltonian.hpp:31
HamiltonianOp(const std::vector< bitLenInt > &ctrls, bitLenInt target, BitOp mtrx, bool antiCtrled=false, const std::vector< bool > &ctrlToggles=std::vector< bool >())
Definition: hamiltonian.hpp:57