fix: changed arg names

This commit is contained in:
BrunoLiegiBastonLiegi
2025-09-24 13:23:51 +02:00
parent 8d97fa3d07
commit 014f47967f
2 changed files with 15 additions and 7 deletions

View File

@@ -4,7 +4,7 @@ from qibo.config import raise_error
from qibotn.backends.abstract import QibotnBackend
from qibotn.backends.cutensornet import CuTensorNet # pylint: disable=E0401
from qibotn.backends.quimb import QuimbBackend # pylint: disable=E0401
from qibotn.backends.quimb import QuimbBackend
PLATFORMS = ("cutensornet", "qutensornet", "qmatchatea")
@@ -27,7 +27,10 @@ class MetaBackend:
return CuTensorNet(runcard)
elif platform == "quimb": # pragma: no cover
quimb_backend = kwargs.get("quimb_backend", "numpy")
return QuimbBackend(quimb_backend)
contraction_optimizer = kwargs.get("quimb_backend", "auto-hq")
return QuimbBackend(
quimb_backend=quimb_backend, contraction_optimizer=contraction_optimizer
)
elif platform == "qmatchatea": # pragma: no cover
from qibotn.backends.qmatchatea import QMatchaTeaBackend

View File

@@ -41,15 +41,17 @@ GATE_MAP = {
if not __name__ == "__main__":
def __init__(self, engine="numpy"):
def __init__(self, quimb_backend="numpy", contraction_optimizer="auto-hq"):
super(self.__class__, self).__init__()
self.name = "qibotn"
self.platform = "quimb"
self.engine = engine
self.backend = quimb_backend
self.configure_tn_simulation()
self.setup_backend_specifics(quimb_backend=engine)
self.setup_backend_specifics(
quimb_backend=quimb_backend, contractions_optimizer=contraction_optimizer
)
def configure_tn_simulation(
self,
@@ -300,13 +302,16 @@ if not __name__ == "__main__":
The corresponding Quimb operator.
"""
op_str = op_str.lower()
# breakpoint()
op = qu.pauli(op_str[0])
for c in op_str[1:]:
op = op & qu.pauli(c)
return op
def QuimbBackend(quimb_backend: str = "numpy") -> QibotnBackend:
def QuimbBackend(
quimb_backend: str = "numpy", contraction_optimizer="auto-hq"
) -> QibotnBackend:
bases = (QibotnBackend,)
methods = {
"__init__": __init__,
@@ -332,4 +337,4 @@ def QuimbBackend(quimb_backend: str = "numpy") -> QibotnBackend:
else:
raise_error(ValueError, f"Unsupported quimb backend: {quimb_backend}")
return type("QuimbBackend", bases, methods)(quimb_backend)
return type("QuimbBackend", bases, methods)(quimb_backend, contraction_optimizer)