MATLAB Answers

L2 norm or Frobenius norm?

조회 수: 271(최근 30일)
Xiaohan Du
Xiaohan Du 31 Aug 2018
Hi all,
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?
Many thanks!

  댓글 수: 1

Adam
Adam 31 Aug 2018
doc norm
gives the maths of each of the options.

로그인 to comment.

답변 수 (2)

Yuvaraj V
Yuvaraj V 31 Aug 2018
Use 'fro' to estimate the Frobenius norm of a matrix, which estimates the 2-norm of the matrix.
if true
x=your_matrix;
n = norm(x,'fro');
end

  댓글 수: 0

로그인 to comment.


Christine Tobler
Christine Tobler 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))).

  댓글 수: 0

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.


Translated by