dpnp.linalg.norm
- dpnp.linalg.norm(x, ord=None, axis=None, keepdims=False)[source]
Matrix or vector norm.
For full documentation refer to
numpy.linalg.norm
.- Parameters:
x ({dpnp.ndarray, usm_ndarray}) -- Input array. If axis is
None
, x must be 1-D or 2-D, unless ord isNone
. If both axis and ord areNone
, the 2-norm ofx.ravel
will be returned.ord ({int, float, inf, -inf, "fro", "nuc"}, optional) -- Norm type. inf means dpnp's inf object. The default is
None
.axis ({None, int, 2-tuple of ints}, optional) -- If axis is an integer, it specifies the axis of x along which to compute the vector norms. If axis is a 2-tuple, it specifies the axes that hold 2-D matrices, and the matrix norms of these matrices are computed. If axis is
None
then either a vector norm (when x is 1-D) or a matrix norm (when x is 2-D) is returned. Default:False
.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. With this option the result will broadcast correctly against the original x. Default:False
.
- Returns:
out -- Norm of the matrix or vector(s).
- Return type:
dpnp.ndarray
Examples
>>> import dpnp as np >>> a = np.arange(9) - 4 >>> a array([-4, -3, -2, -1, 0, 1, 2, 3, 4]) >>> b = a.reshape((3, 3)) >>> b array([[-4, -3, -2], [-1, 0, 1], [ 2, 3, 4]])
>>> np.linalg.norm(a) array(7.74596669) >>> np.linalg.norm(b) array(7.74596669) >>> np.linalg.norm(b, 'fro') array(7.74596669) >>> np.linalg.norm(a, np.inf) array(4.) >>> np.linalg.norm(b, np.inf) array(9.) >>> np.linalg.norm(a, -np.inf) array(0.) >>> np.linalg.norm(b, -np.inf) array(2.)
>>> np.linalg.norm(a, 1) array(20.) >>> np.linalg.norm(b, 1) array(7.) >>> np.linalg.norm(a, -1) array(0.) >>> np.linalg.norm(b, -1) array(6.) >>> np.linalg.norm(a, 2) array(7.74596669) >>> np.linalg.norm(b, 2) array(7.34846923)
>>> np.linalg.norm(a, -2) array(0.) >>> np.linalg.norm(b, -2) array(4.35106603e-18) # may vary >>> np.linalg.norm(a, 3) array(5.84803548) # may vary >>> np.linalg.norm(a, -3) array(0.)
Using the axis argument to compute vector norms:
>>> c = np.array([[ 1, 2, 3], ... [-1, 1, 4]]) >>> np.linalg.norm(c, axis=0) array([ 1.41421356, 2.23606798, 5. ]) >>> np.linalg.norm(c, axis=1) array([ 3.74165739, 4.24264069]) >>> np.linalg.norm(c, ord=1, axis=1) array([ 6., 6.])
Using the axis argument to compute matrix norms:
>>> m = np.arange(8).reshape(2,2,2) >>> np.linalg.norm(m, axis=(1,2)) array([ 3.74165739, 11.22497216]) >>> np.linalg.norm(m[0, :, :]), np.linalg.norm(m[1, :, :]) (array(3.74165739), array(11.22497216))