From d3aebc50f970958ed0f513283a4872d246edb6b8 Mon Sep 17 00:00:00 2001 From: GhostArtyom Date: Tue, 5 Sep 2023 16:07:12 +0000 Subject: [PATCH] Fix NaN error for np.sqrt(eigvals) Signed-off-by: GhostArtyom --- .../decompose/universal_decompose/qs_and_cu_decompose.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mindquantum/algorithm/compiler/decompose/universal_decompose/qs_and_cu_decompose.py b/mindquantum/algorithm/compiler/decompose/universal_decompose/qs_and_cu_decompose.py index b5c5bc553..733764bae 100644 --- a/mindquantum/algorithm/compiler/decompose/universal_decompose/qs_and_cu_decompose.py +++ b/mindquantum/algorithm/compiler/decompose/universal_decompose/qs_and_cu_decompose.py @@ -164,6 +164,7 @@ def demultiplex_pair(u1: np.ndarray, u2: np.ndarray, tqs: List[int], cq: int, wi u1u2h = u1 @ u2.conj().T if np.allclose(u1u2h, u1u2h.conj().T): # is hermitian eigvals, v = linalg.eigh(u1u2h) + eigvals = eigvals.astype(np.complex128) else: evals, v = linalg.schur(u1u2h, output='complex') eigvals = np.diag(evals) -- Gitee