Qrack  9.0
General classical-emulating-quantum development framework
Classes | Namespaces | Typedefs | Enumerations
qinterface.hpp File Reference
#include "common/parallel_for.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
 

Typedefs

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

Enumerations

enum  Qrack::Pauli { Qrack::PauliI = 0 , Qrack::PauliX = 1 , Qrack::PauliY = 3 , Qrack::PauliZ = 2 }
 Enumerated list of Pauli bases. More...
 
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_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...