flopscope.numpy.linalg.matrix_norm
fnp.linalg.matrix_norm(x, ord='fro', keepdims=False)[flopscope source][numpy source]
Computes the matrix norm of a matrix (or a stack of matrices) ``x``.
Adapted from NumPy docs np.linalg.matrix_norm
Cost
depends on ord
Flopscope Context
Matrix norm. Cost depends on ord: 2*numel for Frobenius, m*n*min(m,n) for ord=2.
Computes the matrix norm of a matrix (or a stack of matrices) x.
This function is Array API compatible.
Parameters
- x:array_like
Input array having shape (..., M, N) and whose two innermost dimensions form
MxNmatrices.- keepdims:bool, optional
If this is set to True, the axes which are normed over are left in the result as dimensions with size one. Default: False.
- ord:{1, -1, 2, -2, inf, -inf, 'fro', 'nuc'}, optional
The order of the norm. For details see the table under
Notesin flops.linalg.norm.
See also
- we.flops.linalg.norm Generic norm function
Examples
>>> from numpy import linalg as LA
>>> a = flops.arange(9) - 4
>>> a
array([-4, -3, -2, ..., 2, 3, 4])
>>> b = a.reshape((3, 3))
>>> b
array([[-4, -3, -2],
[-1, 0, 1],
[ 2, 3, 4]])>>> LA.matrix_norm(b)
7.745966692414834
>>> LA.matrix_norm(b, ord='fro')
7.745966692414834
>>> LA.matrix_norm(b, ord=flops.inf)
9.0
>>> LA.matrix_norm(b, ord=-flops.inf)
2.0>>> LA.matrix_norm(b, ord=1)
7.0
>>> LA.matrix_norm(b, ord=-1)
6.0
>>> LA.matrix_norm(b, ord=2)
7.3484692283495345
>>> LA.matrix_norm(b, ord=-2)
1.8570331885190563e-016 # may vary