Using infinity norm in power method. I've been trying to write the power method implementation in c++. Finding the first eigenvalue and eigenvector works fine. I use this computation with the $||y_1||_\infty = 1$

(I use the infinity norm above too - $\frac{z_k}{||z_k||_\infty}$)
The problem arises when i try to compute second largest eigenvalue. The steps are identical however i keep the previously computed vector orthogonal to the newly computed. So the $ e_1$ is my previously computed eigenvector and i start with $||y_1||_\infty = 1$ and  $ e_1^Ty_1=0 $

(I use the infinity norm above too - $\frac{z_k}{||z_k||_\infty}$)
The problem is this above orthogonalization does not work with infinity norm. I've re-written my program to use L2 norm and it work fine. Why is that? Am i missing something here?
 A: Briefly, when you applied the 2-norm, you were using the norm that is induced by the standard inner product on $\mathbb{R}^n$ and everything fit together.
Let us consider the issue in detail. Suppose that $v$ has unit 2-norm, i.e., $\|v\|_2 = \sqrt{v^T v} = 1$ and let $x \not = 0$ any vector. We wish to produce a new vector that is related to $x$ but orthogonal to $v$. We try $$y = y(\alpha) = x - \alpha v$$ where it remains to determine $\alpha \in \mathbb{R}$. Our goal is to ensure that $v^T y = 0$. We see that this condition is equivalent to $$v^T x - \alpha v^T v = 0.$$ Since we have assumed that $v$ has unit 2-norm, we must have $$\alpha = v^T x.$$
When you used the infinity norm during the normalization, you lost the property that $v^T v = 1$. Therefore, you must use
$$ \alpha = \frac{v^T x}{v^T v}.$$
If you do this, the issue you experienced will disappear.
In a lot of applications it will be enough for you to work with the 2-norm and the so-called QR algorithm for computing the eigenvalues and eigenvectors of matrices is expressed in terms of orthogonal transformations, i.e., the standard inner product and the 2-norm.
That does not change the fact the infinity norm is simpler to deal with when you are concerned with floating point overflow. In general, one must be familiar with all manner of norms so that one can choose the right one for the task at hand.
