Qrack  9.9
General classical-emulating-quantum development framework
Classes | Namespaces | Typedefs | Enumerations
qinterface.hpp File Reference
#include "common/parallel_for.hpp"
#include "common/pauli.hpp"
#include "common/rdrandwrapper.hpp"
#include "hamiltonian.hpp"
#include <map>
#include <random>
Include dependency graph for qinterface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Qrack::QInterface
 A "Qrack::QInterface" is an abstract interface exposing qubit permutation state vector with methods to operate on it as by gates and register-like instructions. More...
 

Namespaces

 Qrack
 GLOSSARY: bitLenInt - "bit-length integer" - unsigned integer ID of qubit position in register bitCapInt - "bit-capacity integer" - unsigned integer single-permutation value of a qubit register (typically "big integer") real1 - "real number (1-dimensional)" - floating-point real-valued number complex - "complex number" - floating-point complex-valued number (with two real1 component dimensions) quid - "quantum (simulator) unique identifier" - unsigned integer that indexes and IDs running simulators, circuits, and neurons.
 

Typedefs

typedef std::shared_ptr< QInterface > Qrack::QInterfacePtr
 

Enumerations

enum  Qrack::QInterfaceEngine {
  Qrack::QINTERFACE_CPU = 0 , Qrack::QINTERFACE_OPENCL , Qrack::QINTERFACE_CUDA , Qrack::QINTERFACE_HYBRID ,
  Qrack::QINTERFACE_BDT , Qrack::QINTERFACE_BDT_HYBRID , Qrack::QINTERFACE_STABILIZER , Qrack::QINTERFACE_STABILIZER_HYBRID ,
  Qrack::QINTERFACE_QPAGER , Qrack::QINTERFACE_QUNIT , Qrack::QINTERFACE_QUNIT_MULTI , Qrack::QINTERFACE_QUNIT_CLIFFORD ,
  Qrack::QINTERFACE_TENSOR_NETWORK , Qrack::QINTERFACE_NOISY , Qrack::QINTERFACE_OPTIMAL_SCHROEDINGER = QINTERFACE_CPU , Qrack::QINTERFACE_OPTIMAL_BASE = QINTERFACE_CPU ,
  Qrack::QINTERFACE_OPTIMAL = QINTERFACE_QUNIT , Qrack::QINTERFACE_OPTIMAL_MULTI = QINTERFACE_QUNIT_MULTI , Qrack::QINTERFACE_MAX
}
 Enumerated list of supported engines. More...