Why does "normest" fail to converge for a matrix whose largest eigenvalues are close in value?

4 views (last 30 days)
I am trying to estimate the 2-norm of a matrix whose largest eigenvalues/singular values are similar in magnitude:
>> A = [ 1, 0; 0, 0.9988];
>> normest(A)
However, when I run the code above, I get a warning and an incorrect value for the norm:
ERROR: Warning: NORMEST did not converge for 100 iterations with tolerance 1e-06
> In normest at 40ans =
    0.9995
It is obvious what the 2-norm of the matrix is in this case; why does 'normest' fail?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Feb 2021
Edited: MathWorks Support Team on 25 Feb 2021
The 'normest' function uses the "Power Iteration Method" to estimate the 2-norm of a matrix. This process involves raising the matrix to successively higher powers, which causes the largest singular value/eigenvalue to be increasingly emphasized as the power increases.  As a result, the value of the computed norm converges to the dominant eigenvalue/singular value, which corresponds to the 2-norm.However, the convergence of the Power Iteration Method is geometric with the ratio of the two largest eigenvalues/singular values in the matrix.  Therefore, the closer to 1 that the ratio of the largest singular values is, the more iterations will be required to achieve convergence.  Since 'normest' limits the number of iterations to 100, the process will be terminated and the warning issued if the ratio is close enough to 1 that 100 iterations is not enough for the estimate to converge.

More Answers (0)

Products


Release

R2014b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!