From 264ad089664ec5b0e2cd9b6a5dbac0d30b47a183 Mon Sep 17 00:00:00 2001 From: "Manuel S. Rudolph" <63448124+MSRudolph@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:54:33 +0200 Subject: [PATCH 1/2] Unpacking breaks for usual parameter vectors By looping `for parameter in parameters`, `parameter` can be a float. The current implementation breaks the function. --- src/python/zquantum/core/circuits/_generators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/zquantum/core/circuits/_generators.py b/src/python/zquantum/core/circuits/_generators.py index e1619db54..4ed52b8a7 100644 --- a/src/python/zquantum/core/circuits/_generators.py +++ b/src/python/zquantum/core/circuits/_generators.py @@ -61,7 +61,7 @@ def apply_gate_to_qubits( assert len(parameters) == len(unique_qubit_idx) gate_factory = cast(GatePrototype, gate_factory) for qubit, parameter in zip(unique_qubit_idx, parameters): - circuit += gate_factory(*parameter)(qubit) + circuit += gate_factory(*np.atleast1d(parameter))(qubit) else: gate_factory = cast(Gate, gate_factory) for qubit in unique_qubit_idx: From fbd1f8101fd95ed01c919c926c42581483a7f551 Mon Sep 17 00:00:00 2001 From: "Manuel S. Rudolph" <63448124+MSRudolph@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:55:27 +0200 Subject: [PATCH 2/2] Update _generators.py --- src/python/zquantum/core/circuits/_generators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/zquantum/core/circuits/_generators.py b/src/python/zquantum/core/circuits/_generators.py index 4ed52b8a7..f45dc4cd0 100644 --- a/src/python/zquantum/core/circuits/_generators.py +++ b/src/python/zquantum/core/circuits/_generators.py @@ -61,7 +61,7 @@ def apply_gate_to_qubits( assert len(parameters) == len(unique_qubit_idx) gate_factory = cast(GatePrototype, gate_factory) for qubit, parameter in zip(unique_qubit_idx, parameters): - circuit += gate_factory(*np.atleast1d(parameter))(qubit) + circuit += gate_factory(*np.atleast_1d(parameter))(qubit) else: gate_factory = cast(Gate, gate_factory) for qubit in unique_qubit_idx: