From d9a2341e52a6bd3c332a34e39175b274388383b8 Mon Sep 17 00:00:00 2001 From: Boxi Li Date: Sun, 10 Dec 2023 23:02:53 +0100 Subject: [PATCH] Use the simulator to compute unitary Provide qeye as the input states. --- src/qutip_qip/circuit/circuit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qutip_qip/circuit/circuit.py b/src/qutip_qip/circuit/circuit.py index 975862d4..35fd9815 100644 --- a/src/qutip_qip/circuit/circuit.py +++ b/src/qutip_qip/circuit/circuit.py @@ -17,13 +17,12 @@ Measurement, expand_operator, GATE_CLASS_MAP, - gate_sequence_product, ) from .circuitsimulator import ( CircuitSimulator, CircuitResult, ) -from qutip import basis, Qobj +from qutip import Qobj, qeye try: @@ -939,8 +938,9 @@ def compute_unitary(self): circuit_unitary : :class:`qutip.Qobj` Product of all gate arrays in the quantum circuit. """ - gate_list = self.propagators() - circuit_unitary = gate_sequence_product(gate_list) + sim = CircuitSimulator(self) + result = sim.run(qeye(self.dims)) + circuit_unitary = result.get_final_states()[0] return circuit_unitary def latex_code(self):