feat: integrating qmatchatea SimulationResult in the circuit execution

This commit is contained in:
MatteoRobbiati
2025-01-27 13:04:32 +01:00
4 changed files with 8 additions and 14 deletions

View File

@@ -2,10 +2,10 @@ from typing import Union
from qibo.config import raise_error
from qibotn.backends.cutensornet import CuTensorNet # pylint: disable=E0401
from qibotn.backends.quimb import QuimbBackend # pylint: disable=E0401
from qibotn.backends.qmatchatea import QMatchaTeaBackend # pylint: disable=E0401
from qibotn.backends.abstract import QibotnBackend
from qibotn.backends.cutensornet import CuTensorNet # pylint: disable=E0401
from qibotn.backends.qmatchatea import QMatchaTeaBackend # pylint: disable=E0401
from qibotn.backends.quimb import QuimbBackend # pylint: disable=E0401
QibotnBackend = Union[CuTensorNet, QuimbBackend, QMatchaTeaBackend]

View File

@@ -1,11 +1,11 @@
from abc import abstractmethod
from qibo.backends.numpy import NumpyBackend
from qibo.config import raise_error
DEFAULT_CONFIGURATION = {
"MPI_enabled": False, # TODO: cutensornet specific, TBRemoved
"NCCL_enabled": False, # TODO: cutensornet specific, TBRemoved
"MPI_enabled": False, # TODO: cutensornet specific, TBRemoved
"NCCL_enabled": False, # TODO: cutensornet specific, TBRemoved
"expectation_enabled": False,
"pauli_string_pattern": None,
"MPS_enabled": False,
@@ -14,10 +14,9 @@ DEFAULT_CONFIGURATION = {
}
class QibotnBackend(NumpyBackend):
def __init__(self, runcard:dict = DEFAULT_CONFIGURATION):
def __init__(self, runcard: dict = DEFAULT_CONFIGURATION):
super().__init__()
def apply_gate(self, gate, state, nqubits): # pragma: no cover
@@ -32,10 +31,8 @@ class QibotnBackend(NumpyBackend):
def set_precision(self, precision):
if precision != self.precision:
super().set_precision(precision)
@abstractmethod
def configure_tn_simulation(self, **config):
"""Configure the TN simulation that will be performed."""
pass

View File

@@ -82,7 +82,6 @@ class CuTensorNet(QibotnBackend): # pragma: no cover
if hasattr(self, "cutn"):
self.cutn.destroy(self.handle)
def cuda_type(self, dtype="complex64"):
"""Get CUDA Type.

View File

@@ -1,4 +1,3 @@
from qibo.backends.numpy import NumpyBackend
from qibo.config import raise_error
from qibo.result import QuantumState
@@ -38,7 +37,6 @@ class QuimbBackend(QibotnBackend):
self.platform = "QuimbBackend"
self.versions["quimb"] = self.quimb.__version__
def execute_circuit(
self, circuit, initial_state=None, nshots=None, return_array=False
): # pragma: no cover