L2 norm or Frobenius norm?
357 views (last 30 days)
I read that Matlab norm(x, 2) gives the 2-norm of matrix x, is this the L2 norm of x? Some people say L2 norm is square root of sum of element square of x, but in Matlab norm(x, 2) gives max singular value of x, while norm(x, 'fro') gives square root of sum element square.
If I want to do |x|||_2^2, should I use (norm(x, 2))^2 or (norm(x, 'fro'))^2?
Christine Tobler on 18 Sep 2018
The L2-norm of a matrix, |A|||_2, ( norm(A, 2) in MATLAB) is an operator norm, which is computed as max(svd(A)).
For a vector x, the norm |x|||_2, ( norm(x, 2) in MATLAB), is a vector norm, defined as sqrt(sum(x.^2)).
The Frobenius norm |A|||_F, ( norm(A, 'fro') in MATLAB), is equivalent to a vector norm applied to all elements of the matrix A. This is identical to norm(A(:), 2).
See the Wikipedia page on matrix norms for more information.
By the way, if the matrix A is of size 1-by-n or n-by-1, the matrix norm and vector norm interpretations give the same result (max(svd(x)) is identical to sqrt(sum(x.^2))).