From 5a5f2f36d466dfe824dfea12991a8ad6782441e4 Mon Sep 17 00:00:00 2001 From: antalszava Date: Thu, 28 Jan 2021 06:00:37 -0500 Subject: [PATCH 1/4] convert parameter to list before apply --- pennylane_qiskit/qiskit_device.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pennylane_qiskit/qiskit_device.py b/pennylane_qiskit/qiskit_device.py index a64ca2623..01c68096a 100644 --- a/pennylane_qiskit/qiskit_device.py +++ b/pennylane_qiskit/qiskit_device.py @@ -256,6 +256,10 @@ def apply_operations(self, operations): # Apply the circuit operations device_wires = self.map_wires(operation.wires) par = operation.parameters + + if isinstance(par, np.ndarray): + par = par.tolist() + operation = operation.name mapped_operation = self._operation_map[operation] From 34a0c9e09441ee679d33fae2301b6ec3a6679f77 Mon Sep 17 00:00:00 2001 From: antalszava Date: Thu, 28 Jan 2021 06:18:50 -0500 Subject: [PATCH 2/4] convert parameter to list before apply --- pennylane_qiskit/qiskit_device.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pennylane_qiskit/qiskit_device.py b/pennylane_qiskit/qiskit_device.py index 01c68096a..8fed558df 100644 --- a/pennylane_qiskit/qiskit_device.py +++ b/pennylane_qiskit/qiskit_device.py @@ -257,8 +257,9 @@ def apply_operations(self, operations): device_wires = self.map_wires(operation.wires) par = operation.parameters - if isinstance(par, np.ndarray): - par = par.tolist() + for idx, p in enumerate(par): + if isinstance(p, np.ndarray): + par[idx] = p.tolist() operation = operation.name From ff74e4e6fce9f221dd4e1a232e3eb437be9477ac Mon Sep 17 00:00:00 2001 From: antalszava Date: Thu, 28 Jan 2021 06:44:33 -0500 Subject: [PATCH 3/4] comment --- pennylane_qiskit/qiskit_device.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pennylane_qiskit/qiskit_device.py b/pennylane_qiskit/qiskit_device.py index 8fed558df..b61d968f9 100644 --- a/pennylane_qiskit/qiskit_device.py +++ b/pennylane_qiskit/qiskit_device.py @@ -259,6 +259,7 @@ def apply_operations(self, operations): for idx, p in enumerate(par): if isinstance(p, np.ndarray): + # Convert arrays so that Qiskit accepts the parameters par[idx] = p.tolist() operation = operation.name From e251076260a6870b06cd50562333f559be41c738 Mon Sep 17 00:00:00 2001 From: antalszava Date: Thu, 28 Jan 2021 06:48:16 -0500 Subject: [PATCH 4/4] comment --- pennylane_qiskit/qiskit_device.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pennylane_qiskit/qiskit_device.py b/pennylane_qiskit/qiskit_device.py index b61d968f9..cebb62982 100644 --- a/pennylane_qiskit/qiskit_device.py +++ b/pennylane_qiskit/qiskit_device.py @@ -259,7 +259,7 @@ def apply_operations(self, operations): for idx, p in enumerate(par): if isinstance(p, np.ndarray): - # Convert arrays so that Qiskit accepts the parameters + # Convert arrays so that Qiskit accepts the parameter par[idx] = p.tolist() operation = operation.name