Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.9/dist-packages/scipy/_lib/array_api_compat/numpy/linalg.py: 97%

31 statements  

« prev     ^ index     » next       coverage.py v7.4.1, created at 2024-02-14 06:37 +0000

1from numpy.linalg import * 

2from numpy.linalg import __all__ as linalg_all 

3 

4from ..common import _linalg 

5from .._internal import get_xp 

6from ._aliases import (matmul, matrix_transpose, tensordot, vecdot) 

7 

8import numpy as np 

9 

10cross = get_xp(np)(_linalg.cross) 

11outer = get_xp(np)(_linalg.outer) 

12EighResult = _linalg.EighResult 

13QRResult = _linalg.QRResult 

14SlogdetResult = _linalg.SlogdetResult 

15SVDResult = _linalg.SVDResult 

16eigh = get_xp(np)(_linalg.eigh) 

17qr = get_xp(np)(_linalg.qr) 

18slogdet = get_xp(np)(_linalg.slogdet) 

19svd = get_xp(np)(_linalg.svd) 

20cholesky = get_xp(np)(_linalg.cholesky) 

21matrix_rank = get_xp(np)(_linalg.matrix_rank) 

22pinv = get_xp(np)(_linalg.pinv) 

23matrix_norm = get_xp(np)(_linalg.matrix_norm) 

24svdvals = get_xp(np)(_linalg.svdvals) 

25diagonal = get_xp(np)(_linalg.diagonal) 

26trace = get_xp(np)(_linalg.trace) 

27 

28# These functions are completely new here. If the library already has them 

29# (i.e., numpy 2.0), use the library version instead of our wrapper. 

30if hasattr(np.linalg, 'vector_norm'): 

31 vector_norm = np.linalg.vector_norm 

32else: 

33 vector_norm = get_xp(np)(_linalg.vector_norm) 

34 

35__all__ = linalg_all + _linalg.__all__ 

36 

37del get_xp 

38del np 

39del linalg_all 

40del _linalg