Quantum Simulation C++ API Reference
qsim
Classes 


qsim::BasicGateFuser 
Stateless object with methods for aggregating
Gate
s into
GateFused
.

qsim::BasicGateFuser::Parameter  Userspecified parameters for gate fusion. 
qsim::CircuitQsimParser  Parser for the (deprecated) qsim file input format . 
qsim::Fuser  A base class for fuser classes with some common functions. 
qsim::SimulatorAVX  Quantum circuit simulator with AVX vectorization. 
qsim::SimulatorBasic  Quantum circuit simulator without vectorization. 
qsim::SimulatorSSE  Quantum circuit simulator with SSE vectorization. 
qsim::StateSpace  Abstract class containing context and routines for general statevector manipulations. 
qsim::StateSpace::MeasurementResult  The observed state from a Measurement gate. 
qsim::StateSpaceAVX  Object containing context and routines for AVX statevector manipulations. 
qsim::StateSpaceBasic  Object containing context and routines for unoptimized statevector manipulations. 
qsim::StateSpaceSSE  Object containing context and routines for SSE statevector manipulations. 
Structs 


qsim::Circuit  A collection of gates. 
qsim::Gate  A generic gate to make it easier to use qsim with external gate sets. 
qsim::GateCNot  The controlledX (CX or CNOT) gate. 
qsim::GateCP  The controlled phase gate. 
qsim::GateCZ  The controlledZ (CZ) gate. 
qsim::GateFS  The fermionic simulation (FSim) gate family. 
qsim::GateFused  A collection of "fused" gates which can be multiplied together before being applied to the state vector. 
qsim::GateHd  The Hadamard gate. 
qsim::GateHZ2  A pi / 2 rotation around the X + Y axis. 
qsim::GateId1  The onequbit identity gate. 
qsim::GateId2  The twoqubit identity gate. 
qsim::GateIS  The ISWAP gate. 
qsim::GateRX  A gate that rotates around the X axis of the Bloch sphere. 
qsim::GateRXY  A gate that rotates around an arbitrary axis in the XYplane. 
qsim::GateRY  A gate that rotates around the Y axis of the Bloch sphere. 
qsim::GateRZ  A gate that rotates around the Z axis of the Bloch sphere. 
qsim::GateS  The S gate, equivalent to "square root of Z". 
qsim::GateSwap  The SWAP gate. 
qsim::GateT 
The T gate, equivalent to
Z ^ 0.25
.

qsim::GateX  The Pauli X (or "NOT") gate. 
qsim::GateX2  The "square root of X" gate. 
qsim::GateY  The Pauli Y gate. 
qsim::GateY2  The "square root of Y" gate. 
qsim::GateZ  The Pauli Z gate. 
qsim::HybridSimulator  Hybrid FeynmanSchrodinger simulator. 
qsim::HybridSimulator::HybridData  Contextual data for hybrid simulation. 
qsim::HybridSimulator::Parameter  Userspecified parameters for gate fusion and hybrid simulation. 
qsim::IO  Controller for output logs. 
qsim::IOFile  Controller for output logs with methods for writing to file. 
qsim::ParallelForT  Helper struct for executing forloops in parallel across multiple threads. 
qsim::QSimHRunner  Helper struct for running qsimh. 
qsim::QSimRunner  Helper struct for running qsim. 
qsim::QSimRunner::Parameter  Userspecified parameters for gate fusion and simulation. 
qsim::SequentialFor  Helper struct for executing for loops in series. 
qsim::
Cirq
Structs 


qsim::Cirq::CCX 
The
(exponent = 1, global_shift = 0)
instance of
CCXPowGate
.

qsim::Cirq::CCXPowGate  A gate that applies a doublycontrolled power of an X gate. 
qsim::Cirq::CCZ 
The
(exponent = 1, global_shift = 0)
instance of
CCZPowGate
.

qsim::Cirq::CCZPowGate  A gate that applies a phase to the 111⟩ state of three qubits. 
qsim::Cirq::CSwapGate  A controlled swap gate (the Fredkin gate). 
qsim::Cirq::CX 
The
(exponent = 1, global_shift = 0)
instance of
CXPowGate
.

qsim::Cirq::CXPowGate  A gate that applies a controlled power of an X gate. 
qsim::Cirq::CZ 
The
(exponent = 1, global_shift = 0)
instance of
CZPowGate
.

qsim::Cirq::CZPowGate  A gate that applies a phase to the 11⟩ state of two qubits. 
qsim::Cirq::FSimGate  The fermionic simulation gate family. 
qsim::Cirq::givens 
The
(phase_exponent = 0.25, exponent = 2*phi/pi)
instance of
PhasedISwapPowGate
.

qsim::Cirq::H 
The
(exponent = 1, global_shift = 0)
instance of
HPowGate
.

qsim::Cirq::HPowGate  A gate that rotates around the X+Z axis of the Bloch sphere. 
qsim::Cirq::I  A multiqubit identity gate. 
qsim::Cirq::I1  A onequbit identity gate. 
qsim::Cirq::I2  A twoqubit identity gate. 
qsim::Cirq::ISWAP 
The
(exponent = 1, global_shift = 0)
instance of
ISwapPowGate
.

qsim::Cirq::ISwapPowGate  Rotates the 01⟩ vs 10⟩ subspace of two qubits around its Bloch Xaxis. 
qsim::Cirq::MatrixGate  A multiqubit gate defined entirely by its matrix. 
qsim::Cirq::MatrixGate1  A onequbit gate defined entirely by its matrix. 
qsim::Cirq::MatrixGate2  A twoqubit gate defined entirely by its matrix. 
qsim::Cirq::PhasedISwapPowGate  An ISwapPowGate conjugated by ZPowGate s. 
qsim::Cirq::PhasedXPowGate  An XPowGate conjugated by ZPowGate s. 
qsim::Cirq::PhasedXZGate  A PhasedXPowGate followed by a ZPowGate . 
qsim::Cirq::riswap 
The
(exponent = 2*phi/pi, global_shift = 0)
instance of
ISwapPowGate
.

qsim::Cirq::rx 
The
(exponent = phi/pi, global_shift = 0.5)
instance of
XPowGate
.

qsim::Cirq::ry 
The
(exponent = phi/pi, global_shift = 0.5)
instance of
YPowGate
.

qsim::Cirq::rz 
The
(exponent = phi/pi, global_shift = 0.5)
instance of
ZPowGate
.

qsim::Cirq::S 
The
(exponent = 0.5, global_shift = 0)
instance of
ZPowGate
.

qsim::Cirq::SWAP 
The
(exponent = 1, global_shift = 0)
instance of
SwapPowGate
.

qsim::Cirq::SwapPowGate  The SWAP gate, possibly raised to a power. 
qsim::Cirq::T 
The
(exponent = 0.25, global_shift = 0)
instance of
ZPowGate
.

qsim::Cirq::ThreeQubitDiagonalGate  A threequbit diagonal gate. 
qsim::Cirq::TwoQubitDiagonalGate  A twoqubit diagonal gate. 
qsim::Cirq::X 
The
(exponent = 1, global_shift = 0)
instance of
XPowGate
.

qsim::Cirq::XPowGate  A gate that rotates around the X axis of the Bloch sphere. 
qsim::Cirq::XX 
The
(exponent = 1, global_shift = 0)
instance of
XXPowGate
.

qsim::Cirq::XXPowGate  The tensor product of two X gates, possibly raised to an exponent. 
qsim::Cirq::Y 
The
(exponent = 1, global_shift = 0)
instance of
YPowGate
.

qsim::Cirq::YPowGate  A gate that rotates around the Y axis of the Bloch sphere. 
qsim::Cirq::YY 
The
(exponent = 1, global_shift = 0)
instance of
YYPowGate
.

qsim::Cirq::YYPowGate  The tensor product of two Y gates, possibly raised to an exponent. 
qsim::Cirq::Z 
The
(exponent = 1, global_shift = 0)
instance of
ZPowGate
.

qsim::Cirq::ZPowGate  A gate that rotates around the Z axis of the Bloch sphere. 
qsim::Cirq::ZZ 
The
(exponent = 1, global_shift = 0)
instance of
ZZPowGate
.

qsim::Cirq::ZZPowGate  The tensor product of two Z gates, possibly raised to an exponent. 
qsim::
gate
Structs 


qsim::gate::Measurement  A gate that simulates measurement of one or more qubits, collapsing the state vector and storing the measured results. 
qsim::
unitary
Classes 


qsim::unitary::UnitaryCalculatorBasic  Quantum circuit unitary calculator without vectorization. 
qsim::unitary::UnitarySpace  Abstract class containing routines for general unitary matrix manipulations. 
Structs 


qsim::unitary::UnitarySpaceBasic  Object containing context and routines for unitary manipulations. 