Calculating the norm of a matrix in matlab

751 Views Asked by At

So I've been given the matrix A

A = [1 2; 3 1] and the question is:

If v is an error vector with ||v|| = 0.01, give an upper bound on ||A^30v||.

||A^30v|| = ||A^30|| * ||v||, correct?

I used the norm function (norm(A^30)), and it gave me a number, but I don't think it's correct:

Basically my question boils down to: Does norm(A^30) return the norm of matrix A^30, because according to matlab index, it returns the largest singular value of A^30. IF norm(A^30) is not what I'm supposed to use, what should I use?

2

There are 2 best solutions below

6
On

The norm of a matrix and the norm of a vector are different things, and they have different definitions.

norm(A^30) will return $\|A^{30}\|_2$, or more generally norm(B) returns the largest singular value of $B$.

However, note that $Bv$ is a matrix, so norm(B*v) will return $\sqrt{\sum_{i=1}^n (Bv)_i^2}$.

Since $\|B\| = \sqrt{\lambda_{\max} (B^*B)}$, then $\|B\|\|v\| = \sqrt{\lambda_{\max} (B^*B)}\sqrt{\sum_{i=1}^n v_i^2}$.

One should not expect that these two quantities are the same in general.


What you need to know is that since $\|v\| = 0.01$, then $v$ lies somewhere on a circle around the origin. $A^{30}$ is a linear transformation on any vector in this circle. So, you simply need to figure out how $A^{30}$ transforms the circle, and find the farthest point.

0
On

norm(A*v) $\le$ norm(A)*norm(v). You do not in general get equality.