Quantum Simulation C++ API Reference
qsim
Classes |
|
|---|---|
| qsim::BasicGateFuser |
Stateless object with methods for aggregating
Gate
s into
GateFused
.
|
| qsim::BasicGateFuser::Parameter | User-specified 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 state-vector manipulations. |
| qsim::StateSpace::MeasurementResult | The observed state from a Measurement gate. |
| qsim::StateSpaceAVX | Object containing context and routines for AVX state-vector manipulations. |
| qsim::StateSpaceBasic | Object containing context and routines for unoptimized state-vector manipulations. |
| qsim::StateSpaceSSE | Object containing context and routines for SSE state-vector 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 controlled-X (CX or CNOT) gate. |
| qsim::GateCP | The controlled phase gate. |
| qsim::GateCZ | The controlled-Z (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 one-qubit identity gate. |
| qsim::GateId2 | The two-qubit 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 XY-plane. |
| 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 Feynman-Schrodinger simulator. |
| qsim::HybridSimulator::HybridData | Contextual data for hybrid simulation. |
| qsim::HybridSimulator::Parameter | User-specified 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 for-loops in parallel across multiple threads. |
| qsim::QSimHRunner | Helper struct for running qsimh. |
| qsim::QSimRunner | Helper struct for running qsim. |
| qsim::QSimRunner::Parameter | User-specified 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 doubly-controlled 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 multi-qubit identity gate. |
| qsim::Cirq::I1 | A one-qubit identity gate. |
| qsim::Cirq::I2 | A two-qubit 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 X-axis. |
| qsim::Cirq::MatrixGate | A multi-qubit gate defined entirely by its matrix. |
| qsim::Cirq::MatrixGate1 | A one-qubit gate defined entirely by its matrix. |
| qsim::Cirq::MatrixGate2 | A two-qubit 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 three-qubit diagonal gate. |
| qsim::Cirq::TwoQubitDiagonalGate | A two-qubit 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. |