Std.Canon

The Std.Canon namespace contains the following functions and operations:

Name Description
ApplyCNOTChain Computes the parity of a register of qubits in-place.
ApplyControlledOnBitString Applies oracle on target when controlRegister is in the state specified by bits.
ApplyControlledOnInt Applies a unitary operation on the target if the control register state corresponds to a specified nonnegative integer.
ApplyP Given a single-qubit Pauli operator, applies the corresponding operation to a single qubit.
ApplyPauli Given a multi-qubit Pauli operator, applies the corresponding operation to a quantum register.
ApplyPauliFromBitString Applies a Pauli operator on each qubit in an array if the corresponding bit of a Boolean array matches a given input.
ApplyPauliFromInt Applies a Pauli operator on each qubit in an array if the corresponding bit of a Little-endian integer matches a given input.
ApplyQFT Applies the rotations of Quantum Fourier Transform (QFT) to a little-endian quantum register.
ApplyToEach Applies an operation to each element in a register.
ApplyToEachA Applies an operation to each element in a register. The modifier A indicates that the single-element operation is adjointable.
ApplyToEachC Applies an operation to each element in a register. The modifier C indicates that the single-element operation is controllable.
ApplyToEachCA Applies an operation to each element in a register. The modifier CA indicates that the single-element operation is controllable and adjointable.
ApplyXorInPlace Applies a bitwise-XOR operation between a classical integer and an integer represented by a register of qubits.
ApplyXorInPlaceL Applies a bitwise-XOR operation between a classical integer and an integer represented by a register of qubits.
CX Applies the controlled-X (CX) gate to a pair of qubits.
CY Applies the controlled-Y (CY) gate to a pair of qubits.
CZ Applies the controlled-Z (CZ) gate to a pair of qubits.
Fst Given a pair, returns its first element.
Relabel Relabels the qubits in the current array with the qubits in the updated array. The updated array must be a valid permutation of the current array.
Snd Given a pair, returns its second element.
SwapReverseRegister Uses SWAP gates to reverse the order of the qubits in a register.