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.