qoqo.operations.GivensRotationLittleEndian
- class qoqo.operations.GivensRotationLittleEndian
The Givens rotation interaction gate in little endian notation: \(e^{-\mathrm{i} \theta (X_c Y_t - Y_c X_t)}\).
Where \(X_c\) is the Pauli matrix \(\sigma^x\) acting on the control qubit and \(Y_t\) is the Pauli matrix \(\sigma^y\) acting on the target qubit.
\[\begin{split}U = \begin{pmatrix} 1 & 0 & 0 & 0 \\\\ 0 & \cos(\theta) & \sin(\theta) & 0 \\\\ 0 & -\sin(\theta) \cdot e^{i \phi} & \cos(\theta) \cdot e^{i \phi} & 0 \\\\ 0 & 0 & 0 & e^{i \phi} \end{pmatrix}\end{split}\]- Parameters:
control (int) – The index of the most significant qubit in the unitary representation.
target (int) – The index of the least significant qubit in the unitary representation.
theta (CalculatorFloat) – The rotation angle \(\theta\).
phase (CalculatorFloat) – The phase \(\phi\) of the rotation.
- __init__()
Methods
__init__
()control
()Returns control qubit of the two-qubit operation
hqslang
()Returns hqslang name of Operation
List all involved Qubits
Returns true if operation contains symbolic parameters
phi
()Returns value of attribute phi
powercf
(power)Returns Rotated gate raised to power
remap_qubits
(mapping)Remap qubits
substitute_parameters
(substitution_parameters)Substitutes internal symbolic parameters with float values
tags
()Returns tags identifying the Operation
target
()Returns target qubit of the two-qubit operation
theta
()Returns angle of rotation
Return unitary matrix of gate.
- control()
Returns control qubit of the two-qubit operation
- hqslang()
Returns hqslang name of Operation
- Returns:
The name
- Return type:
str
- involved_qubits()
List all involved Qubits
- Returns:
The involved qubits as a set or ‘ALL’ if all qubits are involved
- Return type:
Union[set[int], str]
- is_parametrized()
Returns true if operation contains symbolic parameters
- Returns:
bool
- phi()
Returns value of attribute phi
- powercf(power)
Returns Rotated gate raised to power
- Parameters:
power (CalculatorFloat) – exponent of the power operation.
- Returns:
gate raised to the power of power
- Return type:
Self
- remap_qubits(mapping)
Remap qubits
- Parameters:
mapping (dict[int, int]) – The mapping
- Returns:
The operation with the remapped qubits
- Return type:
Operation
- Raises:
RuntimeError – Qubit remapping failed
- substitute_parameters(substitution_parameters)
Substitutes internal symbolic parameters with float values
Only available when all symbolic expressions can be evaluated to float with the provided parameters.
- Parameters:
substitution_parameters (dict[str, float]) – The substituted free parameters
- Returns:
The operation with the parameters substituted
- Return type:
Operation
- Raises:
RuntimeError – Parameter Substitution failed
- tags()
Returns tags identifying the Operation
- Returns:
The tags identifying the operation
- Return type:
list[str]
- target()
Returns target qubit of the two-qubit operation
- theta()
Returns angle of rotation
- unitary_matrix()
Return unitary matrix of gate.
- Returns:
np.ndarray
- Raises:
ValueError – Error symbolic operation cannot return float unitary matrix