Calculate eigenvalues of a matrix

56 Views Asked by At

I was thinking about an easy method to calculate the eigenvalues of a matrix for a computer. My idea was to take the matrix and transform it into an upper triangular matrix, using Givens-rotations. The eigenvalues could then be obtained by looking at the diagonal entries.

So something like:

$$R = Q\cdot M $$

where

  1. $M \in \mathbb{R}^{m\times m}$ is the matrix with unknown eigenvalues
  2. $Q$ is an orthogonal rotation matrix
  3. $R$ is an upper triangular matrix

This would only work if the rotation of the matrix does not change its eigenvalues.

I know that a rotation matrix always has eigenvalues of $1$, and by using: $$det(R) = det(Q\cdot M) = det (Q) \cdot det(M)$$ $$\Rightarrow \prod_{n=1}^m \lambda_n^R = \prod_{n=1}^m \lambda_n^Q \cdot \prod_{n=1}^m \lambda_n^M$$ $$\Rightarrow \prod_{n=1}^m \lambda_n^R = \prod_{n=1}^m \lambda_n^M$$

and perhaps: $$ \lambda_n^R = \lambda_n^M \ \ \forall n<[1,m]$$

I am unsure if this is true and would be very happy if someone could help me with this.

In fact I am not sure if the eigenvalues of a rotation matrix are always $+1$ because, if you take a $180°$ rotation, you end up with negative eigenvalues.

I am very happy if someone could help me with this and tell me if this method would work.

Greetings, Finn