Module roqoqo::operations
source · Expand description
Operations are the atomic instructions in any quantum program that can be represented by roqoqo.
Operations can be of various kinds: Definitions, GateOperations, PRAGMAs or measurement Operations.
- Definition operations define the classical registers and variables in the Circuit.
- GateOperations are single-, two- or multi-qubit gate operations that act on a set of qubits and can be executed on a quantum computing device.
- PRAGMAs are operations that can be used when running a simulation of a quantum computing program.
- Measurement Operations are operations that perform a measurement either on a quantum computing device (MeasuareQubit) or on a simulation of a quantum computing program (PRAGMA measurement operations).
Modules§
- Collection of roqoqo spin-boson operations. Abstract operations for qubit-resonator hardware
Structs§
- The 2-mode beam splitter which splits a beam with a transmission amplitude cos(θ) and a reflection amplitude exp(i * φ) * sin(θ).
- The Bogoliubov DeGennes interaction gate.
- The CNOT controlled not gate.
- Controlled-Z operation between a qubit and a bosonic mode, where the two-dimensional subspace of the bosonic mode spanned by the occupation number states |0⟩_B and |1⟩_B is considered as the second qubit involved in the CZ operation.
- The complex hopping gate.
- Implements the double-controlled PauliZ gate.
- Implements the double-controlled PhaseShift gate.
- The controlled-PauliY gate.
- The controlled-PauliZ gate.
- Implements the controlled PhaseShift gate.
- Implements the controlled RotateX operation.
- Implements the controlled RotateX operation.
- DefinitionBit is the Definition for a Bit type register.
- DefinitionComplex is the Definition for a Complex type register.
- DefinitionFloat is the Definition for a floating point type register.
- DefinitionUsize is the Definition for an Integer type register.
- Implements the controlled RotateX operation.
- The Fermionic SWAP gate.
- The fermionic qubit simulation gate.
- Implements a pi-rotation with an embedded phase.
- Implements a pi/2-rotation with an embedded phase.
- The Givens rotation interaction gate in big endian notation: exp(-i * θ * [X_c Y_t - Y_c X_t]) * exp(-i * φ * Z_t/2).
- The Givens rotation interaction gate in little endian notation: exp(-i * θ * [X_c Y_t -Y_c X_t]) * exp(-i * φ * Z_c/2).
- The Hadamard gate.
- The ISwap gate.
- The Identity gate.
- InputBit sets a certain bit in an existing BitRegister of the circuit.
- InputSymbolic is the Definition for a floating point type parameter which will replace a certain symbolic parameter.
- The inverse square root ISwap gate.
- The inverse square root of the XPower gate: exp(i * π/4 * σ^x).
- The Jaynes-Cummings gate exp(-i * θ * (σ^- * b^† + σ^+ * b))
- The KAK decomposition of a two-qubit gate.
- Longitudinal coupling gate exp(-i * θ * Z * (b^† + b))
- Measurement gate operation.
- The fixed phase MolmerSorensen XX gate.
- The Molmer-Sorensen gate between multiple qubits.
- The multi qubit Pauli-Z-Product gate.
- The transversal interaction gate.
- The Pauli X gate.
- The Pauli Y gate.
- The Pauli Z gate.
- The single-mode phase-displacement gate with variable magnitude and phase.
- The single-mode phase-shift gate with variable phase, given by R(θ) = exp(i * θ * 𝑁̂).
- The phase shift gate applied on state |0>.
- The phase shift gate applied on state |1>.
- Implements the phase-shifted controlled PhaseShift gate.
- Implements the phased-shifted controlled-Z gate.
- The photon number-resolving detector measurement for bosons.
- This PRAGMA Operation resets the chosen qubit to the zero state.
- This PRAGMA annotates an Operation.
- This PRAGMA Operation boosts noise and overrotations in the circuit.
- A wrapper around backend specific PRAGMA operations capable of changing a device.
- The conditional PRAGMA operation.
- A circuit controlled by a qubit.
- The damping PRAGMA noise Operation.
- The dephasing PRAGMA noise Operation.
- The depolarising PRAGMA noise Operation.
- The general noise PRAGMA operation.
- This PRAGMA measurement operation returns the density matrix of a quantum register.
- This PRAGMA measurement operation returns the vector of the occupation probabilities.
- This PRAGMA measurement operation returns a Pauli product expectation value.
- This PRAGMA measurement operation returns the statevector of a quantum register.
- The global phase PRAGMA operation.
- This PRAGMA repeats a circuit .
- The statistical overrotation PRAGMA operation.
- The random noise PRAGMA operation.
- The repeated gate PRAGMA operation.
- This PRAGMA measurement operation returns a measurement record for N repeated measurements.
- This PRAGMA Operation sets the density matrix of a quantum register.
- This PRAGMA Operation sets the number of measurements of the circuit.
- This PRAGMA Operation sets the statevector of a quantum register.
- This PRAGMA Operation makes the quantum hardware wait a given amount of time.
- This PRAGMA Operation signals the START of a decomposition block.
- This PRAGMA Operation signals the STOP of a decomposition block.
- This PRAGMA Operation signals the STOP of a parallel execution block.
- The qubit simulation gate.
- The quantum Rabi interaction exp(-i * θ * X * (b^† + b))
- Implements a rotation around an axis in the x-y plane in spherical coordinates.
- The XPower gate exp(-i * θ/2 * σ^x).
- Implements a rotation around an x- and y-axis in spherical coordinates.
- The YPower gate exp(-i * θ/2 * σ^y).
- The ZPower gate exp(-i * θ/2 * σ^z).
- The S gate.
- The SWAP gate.
- Loads a single excitation from a bosonic mode into a qubit as follows (c1 |0⟩_B + c2 |1⟩_B) ⨂ |0⟩_Q -> |0⟩_B ⨂ (c1 |0⟩_Q + c2 |1⟩_Q)
- Stores a single excitation from the involved qubit into the involved bosonic mode as follows |0⟩_B ⨂ (a |0⟩_Q + b |1⟩_Q) -> (a|0⟩_B + b |1⟩_B ) ⨂ |0⟩_Q
- The most general unitary operation acting on one qubit.
- The generalized, anisotropic XYZ Heisenberg interaction between spins.
- The square root ISwap gate.
- The square root of the XPower gate exp(-i * π/4 * σ^x).
- The single-mode squeezing gate with tunable squeezing.
- The T gate.
- Implements the Toffoli gate.
- The variable-angle MolmerSorensen XX gate.
- The XY gate.
Enums§
- Enum of all Operations implementing OperateConstantGate
- Enum of all Operations implementing Define
- Enum of all Operations implementing OperateGate
- Represents classical register entries involved in a roqoqo Operation.
- Represents bosonic modes involved in a roqoqo bosonic Operation.
- Represents qubits involved in a roqoqo Operation.
- Enum of all Operations implementing OperateModeGate
- Enum of all Operations implementing OperateMultiQubitGate
- Enum of all Operations implementing OperateMultiQubit
- Enum of all Operations implementing Operate
- Enum of all Operations implementing OperatePragmaNoise
- Enum of all Operations implementing OperatePragmaNoiseProba
- Enum of all Operations implementing OperatePragma
- Enum of all Operations implementing Rotate
- Enum of all Operations implementing OperateSingleModeGate
- Enum of all Operations implementing OperateSingleMode
- Enum of all Operations implementing OperateSingleQubitGate
- Enum of all Operations implementing OperateSingleQubit
- Enum of all Operations implementing [OperateSpinsAnalog]
- Enum of all Operations implementing OperateThreeQubitGate
- Enum of all Operations implementing OperateThreeQubit
- Enum of all Operations implementing OperateTwoModeGate
- Enum of all Operations implementing OperateTwoMode
- Enum of all Operations implementing OperateTwoQubitGate
- Enum of all Operations implementing OperateTwoQubit
Traits§
- Trait for definition operations.
- Marker trait to show that some operation has been implemented in roqoqo 1.1.0
- Marker trait to show that some operation has been implemented in roqoqo 1.2.0
- Marker trait to show that some operation has been implemented in roqoqo 1.3.0
- Marker trait to show that some operation has been implemented in roqoqo 1.4.0
- Marker trait to show that some operation has been implemented in roqoqo 1.5.0
- Marker trait to show that some operation has been implemented in roqoqo 1.6.0
- Marker trait to show that some operation has been implemented in roqoqo 1.7.0
- Marker trait to show that some operation has been implemented in roqoqo 1.8.0
- Marker trait to show that some operation has been implemented in roqoqo 1.9.0
- Marker trait to show that some operation has been implemented in roqoqo 1.10.0
- Marker trait to show that some operation has been implemented in roqoqo 1.11.0
- Trait for the bosonic modes involved in each bosonic Operation.
- Trait for the qubits involved in each Operation.
- Universal basic trait for all operations of roqoqo.
- Trait for unitary operations without any free parameters.
- Trait for Operations acting with a unitary gate on a set of qubits.
- Trait for Operations acting with a unitary gate on a set of bosonic modes.
- Trait for operations acting on multiple (more than two) qubits.
- Trait for all Operations operating on or affecting more than two qubits.
- Trait for PRAGMA Operations that are not necessary available on all universal quantum hardware.
- Trait for PRAGMA Operations that are not necessary available on all universal quantum hardware, that indicate noise.
- Trait for PRAGMA Operations that are not necessary available on all universal quantum hardware, that indicate noise.
- Trait for bosonic operations acting on exactly one bosonic modes.
- Trait for unitary operations acting on exactly one bosonic mode.
- Trait for operations acting on exactly one qubit.
- Trait for unitary operations acting on exactly one qubit.
- Trait for Operations acting on exactly three qubits.
- Trait for all Operations operating on or affecting exactly three qubits.
- Trait for Operations acting on exactly two bosonic modes.
- Trait for all Operations operating on or affecting exactly two bosonic modes.
- Trait for Operations acting on exactly two qubits.
- Trait for all Operations operating on or affecting exactly two qubits.
- Trait for unitary operations corresponding to rotations that can be characteriszed by a single rotation parameter theta.
- Substitute trait allowing to replace symbolic parameters and to perform qubit mappings.
- SubstituteModes trait allowing to perform bosonic mode mappings.
- Trait for returning minimum roqoqo version for which a operation is supported
Functions§
- Check if a HashMap is a valid mapping for remapping_qubits