From 490472719c5448665fdf42a06102e3ec3d088c65 Mon Sep 17 00:00:00 2001 From: "Kevin J. Sung" Date: Thu, 13 Feb 2025 09:58:20 -0500 Subject: [PATCH] add XXMINUSYY gate --- src/qiskit_quimb/gate.py | 6 ++++++ tests/circuit_test.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/qiskit_quimb/gate.py b/src/qiskit_quimb/gate.py index 49bc051..6af3e52 100644 --- a/src/qiskit_quimb/gate.py +++ b/src/qiskit_quimb/gate.py @@ -181,6 +181,12 @@ def _(op: Instruction, qubits: Sequence[int], kwargs: dict[str, Any]): return quimb.tensor.Gate("X", params=[], qubits=qubits, **kwargs) +@_register_gate_func("xx_minus_yy") +def _(op: Instruction, qubits: Sequence[int], kwargs: dict[str, Any]): + theta, beta = op.params + return quimb.tensor.Gate("XXMINUSYY", params=[theta, beta], qubits=qubits, **kwargs) + + @_register_gate_func("xx_plus_yy") def _(op: Instruction, qubits: Sequence[int], kwargs: dict[str, Any]): theta, beta = op.params diff --git a/tests/circuit_test.py b/tests/circuit_test.py index d9c1cb2..0d3e9ef 100644 --- a/tests/circuit_test.py +++ b/tests/circuit_test.py @@ -38,6 +38,7 @@ U2Gate, U3Gate, XGate, + XXMinusYYGate, XXPlusYYGate, YGate, ZGate, @@ -60,6 +61,9 @@ def test_quimb_circuit(): circuit.append(XXPlusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [b, c]) circuit.append(XXPlusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [a, b]) circuit.append(XXPlusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [c, d]) + circuit.append(XXMinusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [b, c]) + circuit.append(XXMinusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [a, b]) + circuit.append(XXMinusYYGate(rng.uniform(-10, 10), rng.uniform(-10, 10)), [c, d]) circuit.append(CPhaseGate(rng.uniform(-10, 10)), [b, c]) circuit.append(CPhaseGate(rng.uniform(-10, 10)), [a, b]) circuit.append(CPhaseGate(rng.uniform(-10, 10)), [c, d])