[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from timeit import default_timer as timer
|
||||
|
||||
import config
|
||||
import numpy as np
|
||||
import cupy as cp
|
||||
import numpy as np
|
||||
import pytest
|
||||
import qibo
|
||||
from qibo.models import QFT
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import copy
|
||||
import os
|
||||
|
||||
import config
|
||||
import numpy as np
|
||||
import pytest
|
||||
@@ -8,8 +9,7 @@ from qibo.models import QFT
|
||||
|
||||
|
||||
def create_init_state(nqubits):
|
||||
init_state = np.random.random(2**nqubits) + \
|
||||
1j * np.random.random(2**nqubits)
|
||||
init_state = np.random.random(2**nqubits) + 1j * np.random.random(2**nqubits)
|
||||
init_state = init_state / np.sqrt((np.abs(init_state) ** 2).sum())
|
||||
return init_state
|
||||
|
||||
@@ -20,10 +20,11 @@ def qibo_qft(nqubits, init_state, swaps):
|
||||
return circ_qibo, state_vec
|
||||
|
||||
|
||||
@pytest.mark.parametrize("nqubits, tolerance, is_mps",
|
||||
[(1, 1e-6, True), (2, 1e-6, False), (5, 1e-3, True), (10, 1e-3, False)])
|
||||
@pytest.mark.parametrize(
|
||||
"nqubits, tolerance, is_mps",
|
||||
[(1, 1e-6, True), (2, 1e-6, False), (5, 1e-3, True), (10, 1e-3, False)],
|
||||
)
|
||||
def test_eval(nqubits: int, tolerance: float, is_mps: bool):
|
||||
|
||||
"""Evaluate circuit with Quimb backend.
|
||||
|
||||
Args:
|
||||
@@ -41,20 +42,18 @@ def test_eval(nqubits: int, tolerance: float, is_mps: bool):
|
||||
init_state_tn = copy.deepcopy(init_state)
|
||||
|
||||
# Test qibo
|
||||
qibo.set_backend(backend=config.qibo.backend,
|
||||
platform=config.qibo.platform)
|
||||
|
||||
qibo_circ, result_sv= qibo_qft(nqubits, init_state, swaps=True)
|
||||
|
||||
qibo.set_backend(backend=config.qibo.backend, platform=config.qibo.platform)
|
||||
|
||||
qibo_circ, result_sv = qibo_qft(nqubits, init_state, swaps=True)
|
||||
|
||||
# Convert to qasm for other backends
|
||||
qasm_circ = qibo_circ.to_qasm()
|
||||
|
||||
# Test quimb
|
||||
result_tn = qibotn.eval_qu.dense_vector_tn_qu(
|
||||
qasm_circ, init_state_tn, is_mps, backend=config.quimb.backend
|
||||
).flatten()
|
||||
|
||||
qasm_circ, init_state_tn, is_mps, backend=config.quimb.backend
|
||||
).flatten()
|
||||
|
||||
assert np.allclose(result_sv, result_tn,
|
||||
atol=tolerance), "Resulting dense vectors do not match"
|
||||
assert np.allclose(
|
||||
result_sv, result_tn, atol=tolerance
|
||||
), "Resulting dense vectors do not match"
|
||||
|
||||
Reference in New Issue
Block a user