flopscope.

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

Arealinalg
Typecustom
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 MxN matrices.

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 Notes in flops.linalg.norm.

See also

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