Shortcuts

torch.linalg.vector_norm

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

Computes a vector norm.

If A is complex valued, it computes the norm of A.abs()

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

This function does not necessarily treat multidimensonal A as a batch of vectors, instead:

  • If dim= None, A will be flattened before the norm is computed.

  • If dim is an int or a tuple, the norm will be computed over these dimensions and the other dimensions will be treated as batch dimensions.

This behavior is for consistency with torch.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)

other int or float

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

where inf refers to float(‘inf’), NumPy’s inf object, or any equivalent object.

See also

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

Parameters
  • A (Tensor) – tensor, flattened by default, but this behavior can be controlled using dim.

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

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

  • keepdim (bool, optional) – If set to True, the reduced dimensions are retained in the result as dimensions with size one. Default: False

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

  • dtype (torch.dtype, optional) – If specified, the input tensor is cast to dtype before performing the operation, and the returned tensor’s type will be dtype. Default: None

Returns

A real-valued tensor, even when A is complex.

Examples:

>>> from torch import linalg as LA
>>> a = torch.arange(9, dtype=torch.float) - 4
>>> a
tensor([-4., -3., -2., -1.,  0.,  1.,  2.,  3.,  4.])
>>> B = a.reshape((3, 3))
>>> B
tensor([[-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)

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources