From a67e956b4d144aa1a032ba665c232f74df90f629 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:14:49 +0000 Subject: [PATCH 1/3] Initial plan From 926fedf32093e27c6db9c73ceba0d1215a43a3c0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:31:48 +0000 Subject: [PATCH 2/3] Fix qalloc default dim in Cirq qubit managers Co-authored-by: fedimser <14271071+fedimser@users.noreply.github.com> --- source/qdk_package/qdk/qre/interop/_cirq.py | 4 ++-- .../tests/qre/test_cirq_interop.py | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/source/qdk_package/qdk/qre/interop/_cirq.py b/source/qdk_package/qdk/qre/interop/_cirq.py index 8665d8252a..c196aec7b1 100644 --- a/source/qdk_package/qdk/qre/interop/_cirq.py +++ b/source/qdk_package/qdk/qre/interop/_cirq.py @@ -621,7 +621,7 @@ def _allocate_qid(self, name: str, dim: int) -> cirq.Qid: """Allocates single qubit.""" return TypedQubit(super()._allocate_qid(name, dim), self.qubit_type) - def qalloc(self, n: int, dim: int) -> list[cirq.Qid]: + def qalloc(self, n: int, dim: int = 2) -> list[cirq.Qid]: """Allocate ``n`` qubits and update the usage counters.""" qs = super().qalloc(n, dim) self.current_in_use += len(qs) @@ -666,7 +666,7 @@ def __init__(self, prefix: str, *, size: int, maximize_reuse: bool): } def qalloc( - self, n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE + self, n: int, dim: int = 2, qubit_type: QubitType = QubitType.COMPUTE ) -> list[cirq.Qid]: """Allocate ``n`` qubits and update the usage counters. diff --git a/source/qdk_package/tests/qre/test_cirq_interop.py b/source/qdk_package/tests/qre/test_cirq_interop.py index 95bcf8fe04..3eaacc0703 100644 --- a/source/qdk_package/tests/qre/test_cirq_interop.py +++ b/source/qdk_package/tests/qre/test_cirq_interop.py @@ -9,7 +9,9 @@ from qdk.qre.application import CirqApplication from qdk.qre.interop import trace_from_cirq from qdk.qre.interop._cirq import ( + PeakUsageGreedyQubitManager, TypedQubit, + _TypedQubitManager, QubitType, read_from_memory, write_to_memory, @@ -234,3 +236,21 @@ def test_plain_circuit_unaffected_by_memory_compute(): assert trace_true.memory_qubits is None assert trace_false.memory_qubits is None assert trace_true.num_gates == trace_false.num_gates == 3 + + +def test_typed_qubit_manager_qalloc_default_dim(): + """Test _TypedQubitManager.qalloc defaults to qubit dimension 2.""" + manager = _TypedQubitManager( + "q", QubitType.COMPUTE, size=0, maximize_reuse=True + ) + qubits = manager.qalloc(2) + assert len(qubits) == 2 + assert all(qubit.dimension == 2 for qubit in qubits) + + +def test_peak_usage_qubit_manager_qalloc_default_dim(): + """Test PeakUsageGreedyQubitManager.qalloc defaults to qubit dimension 2.""" + manager = PeakUsageGreedyQubitManager("q", size=0, maximize_reuse=True) + qubits = manager.qalloc(2) + assert len(qubits) == 2 + assert all(qubit.dimension == 2 for qubit in qubits) From 669f5c5b142e574df143444c5fed7075b86098eb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Jun 2026 19:32:26 +0000 Subject: [PATCH 3/3] Remove qalloc default-dim test changes Co-authored-by: fedimser <14271071+fedimser@users.noreply.github.com> --- .../tests/qre/test_cirq_interop.py | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/source/qdk_package/tests/qre/test_cirq_interop.py b/source/qdk_package/tests/qre/test_cirq_interop.py index 3eaacc0703..95bcf8fe04 100644 --- a/source/qdk_package/tests/qre/test_cirq_interop.py +++ b/source/qdk_package/tests/qre/test_cirq_interop.py @@ -9,9 +9,7 @@ from qdk.qre.application import CirqApplication from qdk.qre.interop import trace_from_cirq from qdk.qre.interop._cirq import ( - PeakUsageGreedyQubitManager, TypedQubit, - _TypedQubitManager, QubitType, read_from_memory, write_to_memory, @@ -236,21 +234,3 @@ def test_plain_circuit_unaffected_by_memory_compute(): assert trace_true.memory_qubits is None assert trace_false.memory_qubits is None assert trace_true.num_gates == trace_false.num_gates == 3 - - -def test_typed_qubit_manager_qalloc_default_dim(): - """Test _TypedQubitManager.qalloc defaults to qubit dimension 2.""" - manager = _TypedQubitManager( - "q", QubitType.COMPUTE, size=0, maximize_reuse=True - ) - qubits = manager.qalloc(2) - assert len(qubits) == 2 - assert all(qubit.dimension == 2 for qubit in qubits) - - -def test_peak_usage_qubit_manager_qalloc_default_dim(): - """Test PeakUsageGreedyQubitManager.qalloc defaults to qubit dimension 2.""" - manager = PeakUsageGreedyQubitManager("q", size=0, maximize_reuse=True) - qubits = manager.qalloc(2) - assert len(qubits) == 2 - assert all(qubit.dimension == 2 for qubit in qubits)