flopscope.numpy.linalg.vector_norm
fnp.linalg.vector_norm(x, ord=2, axis=None, keepdims=False)[flopscope source][numpy source]
Computes the vector norm of a vector (or batch of vectors) ``x``.
Adapted from NumPy docs np.linalg.vector_norm
Vector norm. Cost: numel (or 2*numel for general p-norm).
Computes the vector norm of a vector (or batch of vectors) x.
This function is Array API compatible.
Parameters
- x:array_like
Input array.
- axis:{None, int, 2-tuple of ints}, optional
If an integer,
axisspecifies the axis (dimension) along which to compute vector norms. If an n-tuple,axisspecifies the axes (dimensions) along which to compute batched vector norms. IfNone, the vector norm must be computed over all array values (i.e., equivalent to computing the vector norm of a flattened array). Default:None.- 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:{int, float, inf, -inf}, 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) + 1
>>> a
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = a.reshape((3, 3))
>>> b
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])>>> LA.vector_norm(b)
16.881943016134134
>>> LA.vector_norm(b, ord=flops.inf)
9.0
>>> LA.vector_norm(b, ord=-flops.inf)
1.0>>> LA.vector_norm(b, ord=0)
9.0
>>> LA.vector_norm(b, ord=1)
45.0
>>> LA.vector_norm(b, ord=-1)
0.3534857623790153
>>> LA.vector_norm(b, ord=2)
16.881943016134134
>>> LA.vector_norm(b, ord=-2)
0.8058837395885292