From 891102f63801cecc86a0205f8d516471b557a765 Mon Sep 17 00:00:00 2001 From: vinitha-balachandran Date: Fri, 1 Mar 2024 07:25:08 +0800 Subject: [PATCH] more compact form for mps settings --- src/qibotn/eval_qu.py | 11 ++++------- tests/test_quimb_backend.py | 10 ++++------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/qibotn/eval_qu.py b/src/qibotn/eval_qu.py index 0a32781..d6064e9 100644 --- a/src/qibotn/eval_qu.py +++ b/src/qibotn/eval_qu.py @@ -20,13 +20,10 @@ def dense_vector_tn_qu(qasm: str, initial_state, mps_opts, backend="numpy"): nqubits = int(np.log2(len(initial_state))) initial_state = init_state_tn(nqubits, initial_state) - if mps_opts: - circ_quimb = qtn.circuit.CircuitMPS.from_openqasm2_str( - qasm, psi0=initial_state, gate_opts=mps_opts - ) - - else: - circ_quimb = qtn.circuit.Circuit.from_openqasm2_str(qasm, psi0=initial_state) + circ_cls = qtn.circuit.CircuitMPS if mps_opts else qtn.circuit.Circuit + circ_quimb = circ_cls.from_openqasm2_str( + qasm, psi0=initial_state, gate_opts=mps_opts + ) interim = circ_quimb.psi.full_simplify(seq="DRC") amplitudes = interim.to_dense(backend=backend) diff --git a/tests/test_quimb_backend.py b/tests/test_quimb_backend.py index 2b77ab6..e32aefe 100644 --- a/tests/test_quimb_backend.py +++ b/tests/test_quimb_backend.py @@ -55,13 +55,11 @@ def test_eval(nqubits: int, tolerance: float, is_mps: bool): gate_opt["method"] = "svd" gate_opt["cutoff"] = 1e-6 gate_opt["cutoff_mode"] = "abs" - result_tn = qibotn.eval_qu.dense_vector_tn_qu( - qasm_circ, init_state_tn, gate_opt, backend=config.quimb.backend - ).flatten() else: - result_tn = qibotn.eval_qu.dense_vector_tn_qu( - qasm_circ, init_state_tn, is_mps, backend=config.quimb.backend - ).flatten() + gate_opt = None + result_tn = qibotn.eval_qu.dense_vector_tn_qu( + qasm_circ, init_state_tn, gate_opt, backend=config.quimb.backend + ).flatten() assert np.allclose( result_sv, result_tn, atol=tolerance