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
« 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
4from ..common import _linalg
5from .._internal import get_xp
6from ._aliases import (matmul, matrix_transpose, tensordot, vecdot)
8import numpy as np
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)
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)
35__all__ = linalg_all + _linalg.__all__
37del get_xp
38del np
39del linalg_all
40del _linalg