Fixed the comments of the PR

This commit is contained in:
Nitin Shivaraman
2023-11-17 15:21:08 +08:00
parent b26360539c
commit 60553bf2e9
2 changed files with 7 additions and 7 deletions

View File

@@ -7,7 +7,7 @@ def from_qibo(circuit: QiboCircuit, is_mps: False, psi0=None, method='svd',
cutoff=1e-6, cutoff_mode='abs'): cutoff=1e-6, cutoff_mode='abs'):
nqubits = circuit.nqubits nqubits = circuit.nqubits
gate_opt = {} gate_opt = {}
if (is_mps): if is_mps:
tncirc = qtn.CircuitMPS(nqubits, psi0=psi0) tncirc = qtn.CircuitMPS(nqubits, psi0=psi0)
gate_opt["method"] = method gate_opt["method"] = method
gate_opt["cutoff"] = cutoff gate_opt["cutoff"] = cutoff
@@ -33,7 +33,7 @@ def init_state_tn(nqubits, init_state_sv):
return qtn.tensor_1d.MatrixProductState.from_dense(init_state_sv, dims) return qtn.tensor_1d.MatrixProductState.from_dense(init_state_sv, dims)
def eval(qasm: str, init_state, backend="numpy"): def eval(qasm: str, init_state, is_mps, backend="numpy"):
"""Evaluate QASM with Quimb """Evaluate QASM with Quimb
backend (quimb): numpy, cupy, jax. Passed to ``opt_einsum``. backend (quimb): numpy, cupy, jax. Passed to ``opt_einsum``.
@@ -41,7 +41,7 @@ def eval(qasm: str, init_state, backend="numpy"):
""" """
circuit = QiboCircuit.from_qasm(qasm) circuit = QiboCircuit.from_qasm(qasm)
init_state_mps = init_state_tn(circuit.nqubits, init_state) init_state_mps = init_state_tn(circuit.nqubits, init_state)
circ_quimb = from_qibo(circuit, is_mps=True, psi0=init_state_mps) circ_quimb = from_qibo(circuit, is_mps, psi0=init_state_mps)
interim = circ_quimb.psi.full_simplify(seq="DRC") interim = circ_quimb.psi.full_simplify(seq="DRC")
amplitudes = interim.to_dense(backend=backend).flatten() amplitudes = interim.to_dense(backend=backend).flatten()

View File

@@ -30,9 +30,9 @@ def time(func):
return time, res return time, res
@pytest.mark.parametrize("nqubits, tolerance", @pytest.mark.parametrize("nqubits, tolerance, is_mps",
[(1, 1e-6), (2, 1e-6), (5, 1e-3), (10, 1e-3)]) [(1, 1e-6, True), (2, 1e-6, False), (5, 1e-3, True), (10, 1e-3, False)])
def test_eval(nqubits: int, tolerance: float): def test_eval(nqubits: int, tolerance: float, is_mps: bool):
# hack quimb to use the correct number of processes # hack quimb to use the correct number of processes
# TODO: remove completely, or at least delegate to the backend # TODO: remove completely, or at least delegate to the backend
# implementation # implementation
@@ -55,7 +55,7 @@ def test_eval(nqubits: int, tolerance: float):
# Test quimb # Test quimb
quimb_time, result_tn = time( quimb_time, result_tn = time(
lambda: qibotn.quimb.eval( lambda: qibotn.quimb.eval(
qasm_circ, init_state_tn, backend=config.quimb.backend qasm_circ, init_state_tn, is_mps, backend=config.quimb.backend
) )
) )