Quantum Simulation C++ API Reference
qsim
Classes 


qsim::CircuitQsimParser  Parser for the (deprecated) qsim file input format. 
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::BasicGateFuser  Stateless object with methods for aggregating Gate s into GateFused . 
qsim::BasicGateFuser::Parameter  Userspecified parameters for gate fusion. 
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 ZPowGates. 
qsim::Cirq::PhasedXPowGate  An XPowGate conjugated by ZPowGates. 
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. 