Skip to content

Commit d066ac9

Browse files
authored
Merge pull request #1775 from qiboteam/abstract
Add `max`, `min`, and `var` methods to abstract `Backend`
2 parents 660aaf8 + 0441fbe commit d066ac9

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/qibo/backends/abstract.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,9 @@ def concatenate(self, tup: Tuple[ArrayLike, ...], **kwargs) -> ArrayLike:
280280
def conj(self, array: ArrayLike) -> ArrayLike:
281281
return self.engine.conj(array)
282282

283+
def coo_matrix(self, array: ArrayLike, **kwargs) -> ArrayLike: # pragma: no cover
284+
raise_error(NotImplementedError)
285+
283286
def copy(self, array: ArrayLike, **kwargs) -> ArrayLike:
284287
return self.engine.copy(array, **kwargs)
285288

@@ -419,9 +422,19 @@ def matrix_norm(
419422

420423
return self.engine.linalg.norm(state, order, **kwargs)
421424

425+
def max(
426+
self, array: ArrayLike, **kwargs
427+
) -> Union[float, int, complex, ArrayLike]: # pragma: no cover
428+
return self.engine.max(array, **kwargs)
429+
422430
def mean(self, array: ArrayLike, **kwargs) -> Union[float, complex, ArrayLike]:
423431
return self.engine.mean(array, **kwargs)
424432

433+
def min(
434+
self, array: ArrayLike, **kwargs
435+
) -> Union[float, int, complex, ArrayLike]: # pragma: no cover
436+
return self.engine.min(array, **kwargs)
437+
425438
def nonzero(self, array: ArrayLike) -> ArrayLike:
426439
return self.engine.nonzero(array)
427440

@@ -635,6 +648,11 @@ def unique(
635648
) -> Union[ArrayLike, Tuple[ArrayLike, ArrayLike]]:
636649
return self.engine.unique(array, **kwargs)
637650

651+
def var(
652+
self, array: ArrayLike, **kwargs
653+
) -> Union[float, ArrayLike]: # pragma: no cover
654+
return self.engine.var(array, **kwargs)
655+
638656
def vector_norm(
639657
self,
640658
state: ArrayLike,

0 commit comments

Comments
 (0)