Main Content


Vector and matrix norms



n = norm(v) returns the Euclidean norm of vector v. This norm is also called the 2-norm, vector magnitude, or Euclidean length.


n = norm(v,p) returns the generalized vector p-norm.


n = norm(X) returns the 2-norm or maximum singular value of matrix X, which is approximately max(svd(X)).

n = norm(X,p) returns the p-norm of matrix X, where p is 1, 2, or Inf:


n = norm(X,"fro") returns the Frobenius norm of matrix or array X.


collapse all

Create a vector and calculate the magnitude.

v = [1 -2 3];
n = norm(v)
n = 3.7417

Calculate the 1-norm of a vector, which is the sum of the element magnitudes.

v = [-2 3 -1];
n = norm(v,1)
n = 6

Calculate the distance between two points as the norm of the difference between the vector elements.

Create two vectors representing the (x,y) coordinates for two points on the Euclidean plane.

a = [0 3];
b = [-2 1];

Use norm to calculate the distance between the points.

d = norm(b-a)
d = 2.8284

Geometrically, the distance between the points is equal to the magnitude of the vector that extends from one point to the other.


Calculate the 2-norm of a matrix, which is the largest singular value.

X = [2 0 1;-1 1 0;-3 3 0];
n = norm(X)
n = 4.7234

Calculate the Frobenius norm of a 4-D array X, which is equivalent to the 2-norm of the column vector X(:).

X = rand(3,4,4,3);
n = norm(X,"fro")
n = 7.1247

The Frobenius norm is also useful for sparse matrices because norm(X,2) does not support sparse X.

Input Arguments

collapse all

Input vector.

Data Types: single | double
Complex Number Support: Yes

Input array, specified as a matrix or array. For most norm types, X must be a matrix. However, for Frobenius norm calculations, X can be an array.

Data Types: single | double
Complex Number Support: Yes

Norm type, specified as 2 (default), a positive real scalar, Inf, or -Inf. The valid values of p and what they return depend on whether the first input to norm is a matrix or vector, as shown in the table.


This table does not reflect the actual algorithms used in calculations.

2 max(svd(X))sum(abs(v).^2)^(1/2)
Positive, real-valued numeric scalarsum(abs(v).^p)^(1/p)

Output Arguments

collapse all

Norm value, returned as a scalar. The norm gives a measure of the magnitude of the elements. By convention:

  • norm returns NaN if the input contains NaN values.

  • The norm of an empty matrix is zero.

More About

collapse all

Euclidean Norm

The Euclidean norm (also called the vector magnitude, Euclidean length, or 2-norm) of a vector v with N elements is defined by


General Vector Norm

The general definition for the p-norm of a vector v that has N elements is


where p is any positive real value, Inf, or -Inf.

  • If p = 1, then the resulting 1-norm is the sum of the absolute values of the vector elements.

  • If p = 2, then the resulting 2-norm gives the vector magnitude or Euclidean length of the vector.

  • If p = Inf, then v=maxi(|v(i)|).

  • If p = -Inf, then v=mini(|v(i)|).

Maximum Absolute Column Sum

The maximum absolute column sum of an m-by-n matrix X (with m,n >= 2) is defined by


Maximum Absolute Row Sum

The maximum absolute row sum of an m-by-n matrix X (with m,n >= 2) is defined by


Frobenius Norm

The Frobenius norm of an m-by-n matrix X (with m,n >= 2) is defined by


This definition also extends naturally to arrays with more than two dimensions. For example, if X is an N-D array of size m-by-n-by-p-by-...-by-q, then the Frobenius norm is



  • Use vecnorm to treat a matrix or array as a collection of vectors and calculate the norm along a specified dimension. For example, vecnorm can calculate the norm of each column in a matrix.

Extended Capabilities

Version History

Introduced before R2006a

expand all