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).
Structs
- The Bogoliubov DeGennes interaction gate.
- The CNOT controlled not gate.
- 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.
- 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.
- 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 KAK decomposition of a two-qubit gate.
- 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 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.
- This PRAGMA Operation resets the chosen qubit to the zero state.
- 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.
- 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.
- 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 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 qubits involved in a roqoqo Operation.
- 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 OperateSingleQubitGate
- Enum of all Operations implementing OperateSingleQubit
- Enum of all Operations implementing OperateThreeQubitGate
- Enum of all Operations implementing OperateThreeQubit
- 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
- 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 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 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 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.
- Trait for returning minimum roqoqo version for which a operation is supported
Functions
- Check if a HashMap is a valid mapping for remapping_qubits