vector_norm

vector_norm(x: array, /, *, axis: int | Tuple[int, ...] | None = None, keepdims: bool = False, ord: int | float | ~typing.Literal[inf, -inf] = 2) array

Computes the vector norm of a vector (or batch of vectors) x.

Parameters:
  • x (array) – input array. Should have a floating-point data type.

  • axis (Optional[Union[int, Tuple[int, ...]]]) – If an integer, axis specifies the axis (dimension) along which to compute vector norms. If an n-tuple, axis specifies the axes (dimensions) along which to compute batched vector norms. If None, the vector norm must be computed over all array values (i.e., equivalent to computing the vector norm of a flattened array). Negative indices must be supported. Default: None.

  • keepdims (bool) – If True, the axes (dimensions) specified by axis must be included in the result as singleton dimensions, and, accordingly, the result must be compatible with the input array (see Broadcasting). Otherwise, if False, the axes (dimensions) specified by axis must not be included in the result. Default: False.

  • ord (Union[int, float, Literal[inf, -inf]]) –

    order of the norm. The following mathematical norms must be supported:

    ord

    description

    1

    L1-norm (Manhattan)

    2

    L2-norm (Euclidean)

    inf

    infinity norm

    (int,float >= 1)

    p-norm

    The following non-mathematical “norms” must be supported:

    ord

    description

    0

    sum(a != 0)

    -1

    1./sum(1./abs(a))

    -2

    1./sqrt(sum(1./abs(a)**2))

    -inf

    min(abs(a))

    (int,float < 1)

    sum(abs(a)**ord)**(1./ord)

    Default: 2.

Returns:

out (array) – an array containing the vector norms. If axis is None, the returned array must be a zero-dimensional array containing a vector norm. If axis is a scalar value (int or float), the returned array must have a rank which is one less than the rank of x. If axis is a n-tuple, the returned array must have a rank which is n less than the rank of x. If x has a real-valued data type, the returned array must have a real-valued floating-point data type determined by Type Promotion Rules. If x has a complex-valued data type, the returned array must have a real-valued floating-point data type whose precision matches the precision of x (e.g., if x is complex128, then the returned array must have a float64 data type).

Notes

Changed in version 2022.12: Added complex data type support.