qoqo.operations.SpinInteraction
- class qoqo.operations.SpinInteraction
The generalized, anisotropic XYZ Heisenberg interaction between spins.
\(e^{-\mathrm{i} (x \cdot X_c X_t + y \cdot Y_c Y_t + z \cdot Z_c Z_t)}\)
Where x, y, z are prefactors of the \(X_c X_t\), \(Y_c Y_t\), \(Z_c Z_t\) Pauliproducts acting on control and target qubit, with \(XX \equiv \sigma_x \sigma_x\), \(YY \equiv \sigma_y \sigma_y\) and \(ZZ \equiv \sigma_z \sigma_z\).
- Parameters:
control (int) – The index of the most significant qubit in the unitary representation.
target (int) –
x (CalculatorFloat) – The prefactor of the XX interaction.
y (CalculatorFloat) – The prefactor of the YY interaction.
z (CalculatorFloat) – The prefactor of the ZZ interaction.
- __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
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
Return unitary matrix of gate.
x
()Returns value of attribute x
y
()Returns value of attribute y
z
()Returns value of attribute z
- 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
- 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
- unitary_matrix()
Return unitary matrix of gate.
- Returns:
np.ndarray
- Raises:
ValueError – Error symbolic operation cannot return float unitary matrix
- x()
Returns value of attribute x
- y()
Returns value of attribute y
- z()
Returns value of attribute z