Rate this Page

torch.linalg.vector_norm#

torch.linalg.vector_norm(x,ord=2,dim=None,keepdim=False,*,dtype=None,out=None)Tensor#

Computes a vector norm.

Ifx is complex valued, it computes the norm ofx.abs()

Supports input of float, double, cfloat and cdouble dtypes.

This function does not necessarily treat multidimensionalx as a batch ofvectors, instead:

  • Ifdim= None,x will be flattened before the norm is computed.

  • Ifdim is anint or atuple, the norm will be computed over these dimensionsand the other dimensions will be treated as batch dimensions.

This behavior is for consistency withtorch.linalg.norm().

ord defines the vector norm that is computed. The following norms are supported:

ord

vector norm

2 (default)

2-norm (see below)

inf

max(abs(x))

-inf

min(abs(x))

0

sum(x != 0)

otherint orfloat

sum(abs(x)^{ord})^{(1 / ord)}

whereinf refers tofloat(‘inf’), NumPy’sinf object, or any equivalent object.

dtype may be used to perform the computation in a more precise dtype.It is semantically equivalent to callinglinalg.vector_norm(x.to(dtype))but it is faster in some cases.

See also

torch.linalg.matrix_norm() computes a matrix norm.

Parameters
  • x (Tensor) – tensor, flattened by default, but this behavior can becontrolled usingdim. (Note: the keyword argumentinput can also be used as an alias forx.)

  • ord (int,float,inf,-inf,'fro','nuc',optional) – order of norm. Default:2

  • dim (int,Tuple[int],optional) – dimensions over which to computethe norm. See above for the behavior whendim= None.Default:None

  • keepdim (bool,optional) – If set toTrue, the reduced dimensions are retainedin the result as dimensions with size one. Default:False

Keyword Arguments
  • out (Tensor,optional) – output tensor. Ignored ifNone. Default:None.

  • dtype (torch.dtype, optional) – type used to perform the accumulation and the return.If specified,x is cast todtype before performing the operation,and the returned tensor’s type will bedtype if real and of its real counterpart if complex.dtype may be complex ifx is complex, otherwise it must be real.x should be convertible without narrowing todtype. Default: None

Returns

A real-valued tensor, even whenx is complex.

Examples:

>>>fromtorchimportlinalgasLA>>>a=torch.arange(9,dtype=torch.float)-4>>>atensor([-4., -3., -2., -1.,  0.,  1.,  2.,  3.,  4.])>>>B=a.reshape((3,3))>>>Btensor([[-4., -3., -2.],        [-1.,  0.,  1.],        [ 2.,  3.,  4.]])>>>LA.vector_norm(a,ord=3.5)tensor(5.4345)>>>LA.vector_norm(B,ord=3.5)tensor(5.4345)