Add datatype as an input in eval() [skip ci]
This commit is contained in:
@@ -3,8 +3,8 @@ from QiboCircuitConvertor import QiboCircuitToEinsum
|
||||
from cuquantum import contract
|
||||
|
||||
|
||||
def eval(qibo_circ):
|
||||
myconvertor = QiboCircuitToEinsum(qibo_circ, dtype="complex128")
|
||||
def eval(qibo_circ,datatype):
|
||||
myconvertor = QiboCircuitToEinsum(qibo_circ, dtype=datatype)
|
||||
operands_expression = myconvertor.state_vector()
|
||||
results = contract(*operands_expression)
|
||||
return results.flatten()
|
||||
|
||||
@@ -32,7 +32,8 @@ def test_eval(nqubits: int):
|
||||
qibo_time, (qibo_circ, result_sv) = time(lambda: qibo_qft(nqubits, swaps=True))
|
||||
|
||||
# Test Cuquantum
|
||||
cutn_time, result_tn = time(lambda: qibotn.cutn.eval(qibo_circ))
|
||||
data_type = "complex128"
|
||||
cutn_time, result_tn = time(lambda: qibotn.cutn.eval(qibo_circ,data_type))
|
||||
|
||||
assert 1e-2 * qibo_time < cutn_time < 1e2 * qibo_time
|
||||
assert np.allclose(result_sv, result_tn), "Resulting dense vectors do not match"
|
||||
|
||||
Reference in New Issue
Block a user