<<<<<<< HEAD ======= >>>>>>> 675f1c9150f170da77d6001ee2d84d71363be6d0

Métodos de ortogonalización

Introducción

El método de la potencia visto anteriormente halla, dada una matriz \(\mathbf{A}\), \(n\times n\) el valor propio de módulo máximo junto con el vector propio correspondiente.

Para hallar los demás valores y vectores propios, podemos usar la técnica de la deflación.

En esta sección, cambiaremos la perspectiva de cálculo de valores propios. En lugar de ir calculándolos de uno en uno, vamos a calcularlos todos de una vez. Son los denominados métodos de ortogonalización.

Fijarse que nos concentraremos en el cálculo de todos los valores propios. Los vectores propios pueden hallarse resolviendo un sistema lineal o aplicar el método de la potencia visto anteriormente.

Concretamente, vamos a ver un método que, dada una matriz \(\mathbf{A}\), la transforma en una matriz tridiagonal simétrica o en una matriz Hessenberg superior usando una transformación de similaridad ortogonal.

Introducción

Es decir, dada una matriz \(\mathbf{A}\), vamos a hallar una matriz ortogonal \(\mathbf{H}\) tal que \(\mathbf{H}^\top\mathbf{A}\mathbf{H}=\mathbf{B}\), donde la matriz \(\mathbf{B}\) será tridiagonal simétrica en el caso en que la matriz original \(\mathbf{A}\) sea simétrica o Hessenberg superior en caso contrario.

Recordemos que en el capítulo de Álgebra lineal numérica vimos que las matrices \(\mathbf{A}\) y \(\mathbf{B}\) tienen los mismos valores propios.

Aunque hemos dicho que no nos concentraremos en el cálculo de los vectores propios, existe la relación siguiente entre dichos vectores propios: si \(\mathbf{w}\) es un vector propio de la matriz \(\mathbf{B}\) de valor propio \(\lambda\), entonces \(\mathbf{v}=\mathbf{H}\mathbf{w}\) es un vector propio de la matriz original \(\mathbf{A}\) del mismo valor propio.

Introducción

Veámoslo: como \(\mathbf{v}\) es un vector propio de la matriz \(\mathbf{B}\) de valor propio \(\lambda\), se cumple \(\mathbf{B}\mathbf{w}=\lambda\mathbf{w}\), entonces, como \(\mathbf{B}=\mathbf{H}^\top\mathbf{A}\mathbf{H}\), multiplicando por \(\mathbf{H}\) ambos miembros nos queda \(\mathbf{H}\mathbf{B}=\mathbf{H}\mathbf{H}^\top\mathbf{A}\mathbf{H}=\mathbf{I}\mathbf{A}\mathbf{H}=\mathbf{A}\mathbf{H}\). Veamos que el vector \(\mathbf{v}=\mathbf{H}\mathbf{w}\) es un vector propio de la matriz \(\mathbf{A}\) de valor propio \(\lambda\): \[ \mathbf{A}\mathbf{v}=\mathbf{A}\mathbf{H}\mathbf{w}=\mathbf{H}\mathbf{B}\mathbf{w}=\mathbf{H}\lambda\mathbf{w}=\lambda\mathbf{H}\mathbf{w}=\lambda\mathbf{v}, \] como queríamos ver.

Sintentizando lo dicho, hallar los valores propios de una matriz es equivalente a hallar los valores propios de matrices triagonales simétricas (caso de matrices simétricas) o Hessenberg superiores.

Entonces, veamos en primer lugar cómo hallar valores propios de matrices tridiagonales simétricas y Hessenberg superiores.

Matrices tridiagonales simétricas

Sea \(\mathbf{A}\) una matriz tridiagonal simétrica:

\[\mathbf{A}=\begin{bmatrix}a_{1}&b_{2}&0&0&\ldots&0 \\b_{2}&a_{2}&b_{3}&0&\ldots&0 \\0&b_{3}&a_{3}&b_{4}&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&b_{n-1}&a_{n-1}&b_{n} \\0&\ldots&\ldots&0&b_{n}&a_{n} \\\end{bmatrix},\] de la que queremos hallar sus valores propios.

Matrices tridiagonales simétricas

Vamos a construir una sucesión de matrices \(\mathbf{A}^{(1)}=\mathbf{A},\mathbf{A}^{(2)},\ldots,\mathbf{A}^{(n)},\ldots\), todas semejantes a la matriz original \(\mathbf{A}\) y tridiagonales simétricas tal que los elementos de las matrices \(\mathbf{A}^{(n)}\) fuera de la diagonal tienen en valor absoluto valores más pequeños a medida que aumenta \(n\). Es decir, \[ \lim_{n\to\infty}\max_{i\neq j}|a_{ij}^{(n)}|=0. \] Concretamente, se cumplira que para cada valor de \(i\), existirá una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(i)}\) tal que \(\mathbf{A}^{(i+1)}=(\mathbf{Q}^{(i)})^\top\mathbf{A}^{(i)}\mathbf{Q}^{(i)}\).

Matrices tridiagonales simétricas

Recordemos que una matriz Hessenberg superior era de la forma:

\[\mathbf{Q}=\begin{bmatrix}q_{11}&q_{12}&q_{13}&q_{14}&\ldots&q_{1n} \\q_{21}&q_{22}&q_{23}&q_{24}&\ldots&q_{2n} \\0&q_{32}&q_{33}&q_{34}&\ldots&q_{3n} \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&q_{n-1,n-2}&q_{n-1,n-1}&q_{n-1,n} \\0&\ldots&\ldots&0&q_{n,n-1}&q_{nn} \\\end{bmatrix},\]

De esta manera, los valores propios de las matrices de la sucesión serán los mismos y como la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\) tiende a una matriz diagonal, podemos aproximar los valores propios de la matriz original por los elementos diagonales de la matriz \(\mathbf{A}^{(n)}\).

Matrices tridiagonales simétricas

Los valores propios de una matriz diagonal \(\mathbf{D}\),

\[\mathbf{D}=\begin{bmatrix}\lambda_1&0&\ldots&0 \\0&\lambda_2&\ldots&0 \\\vdots&\vdots&\ddots&\vdots \\0&\ldots&0&\lambda_n \\\end{bmatrix}.\] son precisamente los valores \(\lambda_i\), \(i=1,\ldots,n\) ya que si hacemos \(\mathrm{det}(\mathbf{D}-\lambda_i\mathbf{I})=0\) al tener dicha matriz la fila \(i\)-ésima nula.

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

Para hallar la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\) se siguen los pasos siguientes:

  • Paso \(1\). Sea \(\mathbf{A}^{(1)}=\mathbf{A}\). Descomponemos la matriz \(\mathbf{A}^{(1)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(1)}\) y una matriz triangular superior \(\mathbf{S}^{(1)}\): \(\mathbf{A}^{(1)}=\mathbf{Q}^{(1)}\mathbf{S}^{(1)}\).

  • Paso \(2\). Definimos \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\), el producto de la matriz triangular superior por la matriz ortogonal Hessenberg superior. Como \(\mathbf{A}^{(1)}=\mathbf{Q}^{(1)}\mathbf{S}^{(1)}\), multiplicando por \((\mathbf{Q}^{(1)})^\top\), nos queda que \((\mathbf{Q}^{(1)})^\top\mathbf{A}^{(1)}=\mathbf{S}^{(1)}\). Por tanto, \(\mathbf{A}^{(2)}=(\mathbf{Q}^{(1)})^\top\mathbf{A}^{(1)}\mathbf{Q}^{(1)}\), es decir, las matrices \(\mathbf{A}^{(1)}\) y \(\mathbf{A}^{(2)}\) son semejantes y tienen los mismos valores propios.

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • La matriz \(\mathbf{A}^{(2)}\)
    • será simétrica ya que \[ \begin{align*} (\mathbf{A}^{(2)})^\top & =((\mathbf{Q}^{(1)})^\top\mathbf{A}^{(1)}\mathbf{Q}^{(1)})^\top =(\mathbf{Q}^{(1)})^\top (\mathbf{A}^{(1)})^\top ((\mathbf{Q}^{(1)})^\top)^\top \\ & = (\mathbf{Q}^{(1)})^\top\mathbf{A}^{(1)}\mathbf{Q}^{(1)}=\mathbf{A}^{(2)}. \end{align*} \]
    • será Hessenberg superior ya que como \(\mathbf{A}^{(2)}\) es el producto de una matriz triangular superior por una matriz Hessenberg superior, \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\), la matriz \(\mathbf{A}^{(2)}\) será Hessenberg superior pero como es simétrica, resulta que la matriz \(\mathbf{A}^{(2)}\) será tridiagonal simétrica.
  • A continuación descomponemos la matriz \(\mathbf{A}^{(2)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(2)}\) y una matriz triangular superior \(\mathbf{S}^{(2)}\): \(\mathbf{A}^{(2)}=\mathbf{Q}^{(2)}\mathbf{S}^{(2)}\).

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(3\). Definimos \(\mathbf{A}^{(3)}=\mathbf{S}^{(2)}\mathbf{Q}^{(2)}\), etc.
  • \(\vdots\)
  • Paso \(i\). Definimos \(\mathbf{A}^{(i)}=\mathbf{S}^{(i-1)}\mathbf{Q}^{(i-1)}\). Usando un razonamiento inductivo y usando lo visto en el paso \(2\), la matriz \(\mathbf{A}^{(i)}\) será tridiagonal simétrica. Descomponemos la matriz \(\mathbf{A}^{(i)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(i)}\) y una matriz triangular superior \(\mathbf{S}^{(i)}\): \(\mathbf{A}^{(i)}=\mathbf{Q}^{(i)}\mathbf{S}^{(i)}\).
  • Paso \(i+1\). Definimos \(\mathbf{A}^{(i+1)}=\mathbf{S}^{(i)}\mathbf{Q}^{(i)}\). Como \(\mathbf{A}^{(i)}=\mathbf{Q}^{(i)}\mathbf{S}^{(i)}\), multiplicando por \((\mathbf{Q}^{(i)})^\top\), nos queda que \((\mathbf{Q}^{(i)})^\top\mathbf{A}^{(i)}=\mathbf{S}^{(i)}\). Por tanto, \(\mathbf{A}^{(i+1)}=(\mathbf{Q}^{(i)})^\top\mathbf{A}^{(i)}\mathbf{Q}^{(i)}\), es decir, las matrices \(\mathbf{A}^{(i+1)}\) y \(\mathbf{A}^{(i)}\) son semejantes y tienen los mismos valores propios. Además, usando el mismo razonamiento anterior, la matriz \(\mathbf{A}^{(i+1)}\) sería tridiagonal simétrica, etc.

Descomposición \(\mathbf{A}^{(i)}=\mathbf{Q}^{(i)}\mathbf{S}^{(i)}\)

La descomposición de la matriz tridiagonal simétrica del paso \(i\)-ésimo en una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(i)}\) y una matriz \(\mathbf{S}^{(i)}\) triangular superior está basada en las llamadas matrices de rotación:

Definición de matriz de rotación.

Una matriz \(\mathbf{R}_{ij}=(r_{kl}^{(ij)})_{k,l=1,\ldots,n}\) de dimensiones \(n\times n\) es una matriz de rotación si existen dos valores \(i\) y \(j\) entre \(1\) y \(n\) tal que la matriz \(\mathbf{R}_{ij}\) y la matriz identidad \(\mathbf{I}\) coinciden excepto en las filas y columnas \(i\) y \(j\). Para las filas y columnas \(i\) y \(j\), existe un valor \(\alpha\in [0,2\pi)\) con: \[ r_{kl}=\begin{cases}\cos(\alpha), & \mathrm{si\ }k=l=i\mathrm{\ o\ }k=l=j,\\ \sin(\alpha), & \mathrm{si\ }k=i,l=j,\\ -\sin(\alpha), & \mathrm{si\ }k=j,l=i,\\ 1, &\mathrm{si\ }k=l\neq i,j,\\ 0, &\mathrm{en\ caso\ contrario.} \end{cases} \]

Matrices de rotación

\[\mathbf{R}_{ij}=\begin{bmatrix}1&\ldots&0&\ldots&0&\ldots&0 \\\vdots&\ddots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&\ldots&\cos(\alpha)&\ldots&\sin(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots&\vdots \\0&\ldots&-\sin(\alpha)&\ldots&\cos(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\vdots&\vdots&\ddots&\vdots \\0&\ldots&0&\ldots&0&\ldots&1 \\\end{bmatrix}.\]

Ejemplo

Consideremos \(n=5\) y \(i=2\) y \(j=4\). Las matrices \(\mathbf{R}_{24}\) y \(\mathbf{R}_{15}\) serán la siguiente:

\[\mathbf{R}_{24}=\begin{bmatrix}1&0&0&0&0 \\0&\cos(\alpha)&0&\sin(\alpha)&0 \\0&0&1&0&0 \\0&-\sin(\alpha)&0&\cos(\alpha)&0 \\0&0&0&0&1 \\\end{bmatrix},\quad \mathbf{R}_{15}=\begin{bmatrix}\cos(\alpha)&0&0&0&\sin(\alpha) \\0&1&0&0&0 \\0&0&1&0&0 \\0&0&0&1&0 \\-\sin(\alpha)&0&0&0&\cos(\alpha) \\\end{bmatrix},\] para un valor \(\alpha\).

Matrices de rotación

Las matrices de rotación son matrices ortogonales tal como afirma la proposición siguiente:

Proposición.

Las matrices de rotación son ortogonales.

Demostración de la proposición

Veamos que \(\mathbf{R}_{ij}^\top\mathbf{R}_{ij}=\mathbf{I}\). De esta manera \(\mathbf{R}_{ij}^{-1}=\mathbf{R}_{ij}^\top\): \[ \begin{align*} \mathbf{R}_{ij}^\top\mathbf{R}_{ij} & =\begin{bmatrix}1&\ldots&0&\ldots&0&\ldots&0 \\\vdots&\ddots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&\ldots&\cos(\alpha)&\ldots&-\sin(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots&\vdots \\0&\ldots&\sin(\alpha)&\ldots&\cos(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\vdots&\vdots&\ddots&\vdots \\0&\ldots&0&\ldots&0&\ldots&1 \\\end{bmatrix}\begin{bmatrix}1&\ldots&0&\ldots&0&\ldots&0 \\\vdots&\ddots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&\ldots&\cos(\alpha)&\ldots&\sin(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots&\vdots \\0&\ldots&-\sin(\alpha)&\ldots&\cos(\alpha)&\ldots&0 \\\vdots&\vdots&\vdots&\vdots&\vdots&\ddots&\vdots \\0&\ldots&0&\ldots&0&\ldots&1 \\\end{bmatrix}. \end{align*} \] Sea \(\mathbf{M}=\mathbf{R}_{ij}^\top\mathbf{R}_{ij}\). El valor \(m_{kl}\) será el producto de la fila \(k\)-ésima de la matriz \(\mathbf{R}_{ij}^\top\) por la columna \(l\)-ésima de la matriz \(\mathbf{R}_{ij}\). Distingamos los casos siguientes:

Demostración de la proposición (continuación)

  • Si \(k,l\neq i,j\), la fila \(k\)-ésima de la matriz \(\mathbf{R}_{ij}^\top\) será el vector \(\mathbf{e}^{(k)}\) de la base canónica y la columna \(l\)-ésima de la matriz \(\mathbf{R}_{ij}\) será el vector \(\mathbf{e}^{(l)}\) de la base canónica. Por tanto \[ m_{kl}=(\mathbf{e}^{(k)})^\top \mathbf{e}^{(l)}=\begin{cases}1, & \mathrm{si\ } k=l,\\ 0, & \mathrm{en\ caso\ contrario.}\end{cases} \] Dichos valores coinciden con el valor de la fila \(k\)-ésima y columna \(l\)-ésima de la matriz identidad.
  • Si \(k=i\), \(l\neq i,j\), \[ m_{kl}=m_{il}=(0,\ldots,\cos(\alpha),\ldots,-\sin(\alpha),\ldots,0)\begin{bmatrix}0\\\vdots\\ 0(\mathrm{elemento\ }i)\\\vdots\\ 1 (\mathrm{elemento\ }l)\\\vdots\\ 0(\mathrm{elemento\ j})\\\vdots\\ 0\end{bmatrix}=0, \] que coincide con el elemento \(kl\) de la matriz identidad ya que en este caso \(k\neq l\).

Demostración de la proposición (continuación)

  • Si \(k=j\), \(l\neq i,j\): idéntico al caso anterior cambiando los “papeles” de \(i\) y \(j\).
  • Si \(l=i\), \(k\neq i,j\): idéntico a los casos anteriores cambiando los “papeles” de \(k\) y \(l\).
  • Si \(l=j\), \(k\neq i,j\): idéntico a los casos anteriores cambiando los “papeles” de \(i\) y \(j\).
  • \(k=i\) y \(l=j\). En este caso, \[ m_{kl}=m_{ij}= (0,\ldots,\cos(\alpha),\ldots,-\sin(\alpha),\ldots,0)\begin{bmatrix}0\\\vdots\\\sin(\alpha)\\\vdots\\\cos(\alpha)\\\vdots\\ 0\end{bmatrix}=\cos(\alpha)\sin(\alpha)-\sin(\alpha)\cos(\alpha)=0, \] valor que coincide con el valor \(i,j\) de la matriz identidad ya que en este caso \(k=i\neq l=j\).
  • \(k=j\) y \(l=i\): parecido al caso anterior.

Demostración de la proposición (continuación)

  • \(k=i\) y \(l=i\). En este caso, \[ m_{kl}=m_{ii}= (0,\ldots,\cos(\alpha),\ldots,-\sin(\alpha),\ldots,0)\begin{bmatrix}0\\\vdots\\\cos(\alpha)\\\vdots\\-\sin(\alpha)\\\vdots\\ 0\end{bmatrix}=\cos^2(\alpha)+\sin^2(\alpha)=1, \] valor que coincide con el valor \(i,i\) de la matriz identidad.
  • \(k=j\) y \(l=j\): parecido al caso anterior.

En resumen, acabamos de demostrar que \(\mathbf{M}=\mathbf{R}_{ij}^\top\mathbf{R}_{ij}=\mathbf{I}\).

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

Supongamos que estamos en el paso \(i\)-ésimo y tenemos la matriz \(\mathbf{A}^{(i)}\) tridiagonal simétrica:

\[\mathbf{A}^{(i)}=\begin{bmatrix}a_{1}&b_{2}&0&0&\ldots&0 \\b_{2}&a_{2}&b_{3}&0&\ldots&0 \\0&b_{3}&a_{3}&b_{4}&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&b_{n-1}&a_{n-1}&b_{n} \\0&\ldots&\ldots&0&b_{n}&a_{n} \\\end{bmatrix}.\]

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

  • Paso \(1\). En primer lugar, vamos a considerar la matriz de rotación \(\mathbf{R}_{12}\) y vamos a hallar el valor \(\alpha\) tal que la componente \((2,1)\) del producto de matrices \(\mathbf{R}_{12}\mathbf{A}^{(i)}\) sea \(0\): \[ \mathbf{R}_{12}\mathbf{A}^{(i)}=\begin{bmatrix}\cos(\alpha)&\sin(\alpha)&0&\ldots&0 \\-\sin(\alpha)&\cos(\alpha)&0&\ldots&0 \\\vdots&\vdots&\ddots&\vdots&\vdots \\0&0&0&\ldots&1 \\\end{bmatrix}\begin{bmatrix}a_{1}&b_{2}&0&0&\ldots&0 \\b_{2}&a_{2}&b_{3}&0&\ldots&0 \\0&b_{3}&a_{3}&b_{4}&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&b_{n-1}&a_{n-1}&b_{n} \\0&\ldots&\ldots&0&b_{n}&a_{n} \\\end{bmatrix}. \] El elemento \((2,1)\) del producto anterior vale: \(-a_1\sin(\alpha_1)+b_2\cos(\alpha_1)\). Hallamos el valor \(\alpha_1\) tal que: \[ \begin{align*} & -a_1\sin(\alpha_1)+b_2\cos(\alpha_1)=0,\ \Rightarrow a_1\sin(\alpha_1)=b_2\cos(\alpha_1),\\ & \Rightarrow \tan(\alpha_1)=\frac{b_2}{a_1}. \end{align*} \]

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

Por tanto, \[ \cos(\alpha_1)=\sqrt{\frac{1}{1+\tan^2(\alpha_1)}}=\frac{a_1}{\sqrt{(a_1)^2+(b_2)^2}},\quad\sin(\alpha_1)=\frac{b_2}{\sqrt{(a_1)^2+(b_2)^2}}. \] El producto anterior será de la forma: \[ \mathbf{R}_{12}\mathbf{A}^{(i)}=\begin{bmatrix}*&*&*&*&\ldots&* \\0&a_2^{(2)}&*&*&\ldots&* \\0&b_3^{(2)}&*&*&\ldots&* \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&*&*&* \\0&\ldots&\ldots&0&*&* \\\end{bmatrix}, \] donde el producto anterior será una matriz Hessenberg superior al ser las matrices \(\mathbf{R}_{12}\) y \(\mathbf{A}^{(i)}\) matrices Hessenberg superiores.

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

  • Paso \(2\). A continuación, consideramos la matriz \(\mathbf{R}_{23}\) y hallamos el valor \(\alpha_2\) tal que la componente \((3,2)\) producto de las matrices \(\mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A}^{(i)})\) sea \(0\).

Razonando de forma similar, el valor \(\alpha_2\) verificará: \[ \cos(\alpha_2)=\sqrt{\frac{1}{1+\tan^2(\alpha_2)}}=\frac{a_2^{(2)}}{\sqrt{(a_2^{(2)})^2+(b_3^{(2)})^2}},\quad\sin(\alpha_2)=\frac{b_3^{(2)}}{\sqrt{(a_2^{(2)})^2+(b_3^{(2)})^2}}. \] La matriz \(\mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A}^{(i)})\) será Hesenberg superior al ser el producto de dos matrices Hessenberg superiores: \[ \mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A}^{(i)})=\begin{bmatrix}*&*&*&*&\ldots&* \\0&*&*&*&\ldots&* \\0&0&*&*&\ldots&* \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&*&*&* \\0&\ldots&\ldots&0&*&* \\\end{bmatrix}. \]

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

De esta forma, en \(n-1\) pasos podemos hacer \(0\) las componentes \((2,1), (3,2),\ldots,(n,n-1)\) obteniendo el producto \(\mathbf{R}_{n-1,n}\cdots \mathbf{R}_{12}\mathbf{A}^{(i)}=\mathbf{S}^{(i)},\) donde la matriz \(\mathbf{S}^{(i)}\) sería triangular superior al ser Hessenberg superior y tener nulas las componentes \((2,1), (3,2),\ldots,(n,n-1)\).

Por último, al ser las matrices \(\mathbf{R}_{j,j+1}\), \(j=1,\ldots,n-1\) ortogonales, tenemos que: \[ \mathbf{A}^{(i)}=\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top\mathbf{S}^{(i)}. \] La matriz \(\mathbf{Q}^{(i)}\) será, pues, \(\mathbf{Q}^{(i)}=\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top\) y la matriz \(\mathbf{S}^{(i)}\), la matriz \(\mathbf{S}^{(i)}\) de la descomposición anterior.

Cálculo de las matrices \(\mathbf{Q}^{(i)}\) y \(\mathbf{S}^{(i)}\)

Observación.

La matriz \(\mathbf{Q}^{(i)}=\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top\) es ortogonal ya que: \[ \begin{align*} (\mathbf{Q}^{(i)})^\top\mathbf{Q}^{(i)} & =(\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top)^\top\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top\\ & =\mathbf{R}_{n-1,n}\cdots\mathbf{R}_{12}\mathbf{R}_{12}^\top\cdots\mathbf{R}_{n-1,n}^\top = \mathbf{I}, \end{align*} \] al ser las matrices \(\mathbf{R}_{j,j+1}\) ortogonales, \(j=1,\ldots,n-1\).

Descomposición \(\mathbf{A}=\mathbf{Q}\mathbf{S}\). Pseudocódigo

  • INPUT matriz del sistema \(\mathbf{A}=\)\(\begin{bmatrix}a_{1}&b_{2}&0&0&\ldots&0 \\b_{2}&a_{2}&b_{3}&0&\ldots&0 \\0&b_{3}&a_{3}&b_{4}&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&b_{n-1}&a_{n-1}&b_{n} \\0&\ldots&\ldots&0&b_{n}&a_{n} \\\end{bmatrix}\).
  • Set \(\mathbf{S}=\mathbf{A}\) (en la matriz \(\mathbf{S}\) iremos guardando los productos \(\mathbf{R}_{k,k+1}\cdots\mathbf{R}_{12}\mathbf{A}\))
  • Set \(\mathbf{Q}=\mathbf{I}\) (en la matriz \(\mathbf{Q}\) iremos guardando los productos \(\mathbf{R}_{1,2}^\top\cdots\mathbf{R}_{k,k+1}^\top\))

Descomposición \(\mathbf{A}=\mathbf{Q}\mathbf{S}\). Pseudocódigo

  • For \(k=1,\ldots,n-1\)
    • Set \(c=\frac{s_{k,k}}{\sqrt{(s_{k,k})^2+(s_{k+1,k})^2}}\).
    • Set \(s=\frac{s_{k+1,k}}{\sqrt{(s_{k,k})^2+(s_{k+1,k})^2}}\).
    • Set \(\mathbf{R}_{k,k+1}=(r_{ij})_{i,j=1,\ldots,n}=\mathbf{I}\) (definimos la matriz \(\mathbf{R}_{k,k+1}\) inicialmente como la identidad)

Descomposición \(\mathbf{A}=\mathbf{Q}\mathbf{S}\). Pseudocódigo

  • (Cambiamos las componentes \((k,k),(k+1,k),(k,k+1)\) y \((k+1,k+1)\))
    • Set \(r_{k,k}=c\).
    • Set \(r_{k,k+1}=s\).
    • Set \(r_{k+1,k}=-s\).
    • Set \(r_{k+1,k+1}=c\).
    • Set \(\mathbf{S}=R_{k,k+1}\mathbf{S}\). (Cambiamos la matriz \(\mathbf{S}\))
    • Set \(\mathbf{Q}=\mathbf{Q}\mathbf{R}_{k,k+1}^\top\) (Cambiamos la matriz \(\mathbf{Q}\))
  • Print \(\mathbf{Q}\), \(\mathbf{S}\).

Ejemplo

Consideremos la matriz tridiagonal simétrica siguiente: \[ \mathbf{A}=\begin{bmatrix}10&6&0&0 \\6&4&6&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}. \] Vamos a hallar una matriz ortogonal Hessenberg superior \(\mathbf{Q}\) y una matriz triangular superior \(\mathbf{S}\) tal que \(\mathbf{A}=\mathbf{Q}\mathbf{S}\).

  • Paso \(1\). Calculamos los valores \(\cos(\alpha_1)\) y \(\sin(\alpha_1)\): \[ \cos(\alpha_1)=\frac{10}{\sqrt{10^2+6^2}}=0.857493,\ \sin(\alpha_1)=\frac{6}{\sqrt{10^2+6^2}}=0.514496. \] La matriz \(\mathbf{R}_{12}\) será: \[ \mathbf{R}_{12}=\begin{bmatrix}0.857493&0.514496&0&0 \\-0.514496&0.857493&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{12}\mathbf{A}\): \[ \mathbf{R}_{12}\mathbf{A}=\begin{bmatrix}0.857493&0.514496&0&0 \\-0.514496&0.857493&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}10&6&0&0 \\6&4&6&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}=\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&0.342997&5.144958&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}. \] Observamos que es una matriz Hessenberg superior.

  • Paso \(2\). Calculamos los valores \(\cos(\alpha_2)\) y \(\sin(\alpha_2)\): \[ \cos(\alpha_2)=\frac{0.342997}{\sqrt{0.342997^2+6^2}}=0.057073,\ \sin(\alpha_2)=\frac{6}{\sqrt{0.342997^2+6^2}}=0.99837. \] La matriz \(\mathbf{R}_{23}\) será: \[ \mathbf{R}_{23}=\begin{bmatrix}1&0&0&0 \\0&0.057073&0.99837&0 \\0&-0.99837&0.057073&0 \\0&0&0&1 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A})\): \[ \begin{align*} \mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A}) & =\begin{bmatrix}1&0&0&0 \\0&0.057073&0.99837&0 \\0&-0.99837&0.057073&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&0.342997&5.144958&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}\\ & =\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&-4.565841&0.513657 \\0&0&9&8 \\\end{bmatrix}. \end{align*} \] Observamos que es una matriz Hessenberg superior.

Ejemplo (continuación)

  • Paso \(3\) y último. Calculamos los valores \(\cos(\alpha_3)\) y \(\sin(\alpha_3)\): \[ \cos(\alpha_3)=\frac{(-4.565841)}{\sqrt{(-4.565841)^2+9^2}}=-0.452425,\ \sin(\alpha_2)=\frac{9}{\sqrt{(-4.565841)^2+9^2}}=0.891802. \] La matriz \(\mathbf{R}_{34}\) será: \[ \mathbf{R}_{34}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.452425&0.891802 \\0&0&-0.891802&-0.452425 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{34}(\mathbf{R}_{23}\mathbf{R}_{12}\mathbf{A})\): \[ \begin{align*} \mathbf{R}_{34}(\mathbf{R}_{23}\mathbf{R}_{12}\mathbf{A}) & =\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.452425&0.891802 \\0&0&-0.891802&-0.452425 \\\end{bmatrix}\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&-4.565841&0.513657 \\0&0&9&8 \\\end{bmatrix}\\ & =\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&10.091923&6.902027 \\0&0&0&-4.077483 \\\end{bmatrix}. \end{align*} \] Observamos que es una matriz triangular superior. Ésta será la matriz \(\mathbf{S}\).

Ejemplo (continuación)

La matriz \(\mathbf{Q}\) será: \[ \begin{align*} \mathbf{Q} & =\mathbf{R}_{12}^\top\mathbf{R}_{23}^\top\mathbf{R}_{34}^\top \\ & = \begin{bmatrix}0.857493&-0.514496&0&0 \\0.514496&0.857493&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}1&0&0&0 \\0&0.057073&-0.99837&0 \\0&0.99837&0.057073&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.452425&-0.891802 \\0&0&0.891802&-0.452425 \\\end{bmatrix} \\ & = \begin{bmatrix}0.857493&-0.029364&-0.232391&-0.458081 \\0.514496&0.04894&0.387319&0.763468 \\0&0.99837&-0.025821&-0.050898 \\0&0&0.891802&-0.452425 \\\end{bmatrix}. \end{align*} \]

Ejemplo (continuación)

Podemos escribir, pues que \(\mathbf{A}=\mathbf{Q}\mathbf{S}\): \[ \begin{align*} \begin{bmatrix}10&6&0&0 \\6&4&6&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}= & \begin{bmatrix}0.857493&-0.029364&-0.232391&-0.458081 \\0.514496&0.04894&0.387319&0.763468 \\0&0.99837&-0.025821&-0.050898 \\0&0&0.891802&-0.452425 \\\end{bmatrix}\cdot\\ &\begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&10.091923&6.902027 \\0&0&0&-4.077483 \\\end{bmatrix}. \end{align*} \]

Cálculo de \((\mathbf{A}^{(n)})_{n\geq 0}\). Pseudocódigo

  • INPUT matriz del sistema \(\mathbf{A}=\mathbf{A}^{(1)}=\)\(\begin{bmatrix}a_1^{(1)}&b_{2}^{(1)}&0&0&\ldots&0 \\b_{2}^{(1)}&a_{2}^{(1)}&b_{3}^{(1)}&0&\ldots&0 \\0&b_{3}^{(1)}&a_{3}^{(1)}&b_{4}^{(1)}&\ldots&0 \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&b_{n-1}^{(1)}&a_{n-1}^{(1)}&b_{n}^{(1)} \\0&\ldots&\ldots&0&b_{n}^{(1)}&a_{n}^{(1)} \\\end{bmatrix}\), tolerancia TOL, número máximo de iteraciones Nmax.
  • Set \(k=1\).

Cálculo de \((\mathbf{A}^{(n)})_{n\geq 0}\). Pseudocódigo

  • While \(k\leq Nmax\)
    • If \(\max_{i=2,\ldots,n}|b_i^{(k)}|\leq TOL\)
      • Print valores propios \(a_1^{(k)},\ldots,a_n^{(k)}\)
      • STOP
    • Else
      • Descomponemos \(\mathbf{A}^{(k)}=\mathbf{Q}^{(k)}\mathbf{S}^{(k)}\).
      • Set \(\mathbf{A}^{(k+1)}=\mathbf{S}^{(k)}\mathbf{Q}^{(k)}\). (definimos \(\mathbf{A}^{(k+1)}\))
      • Set \(k=k+1\) (aumentamos \(k\))
  • Print: el algoritmo no converge en \(Nmax\) pasos.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

Consideremos la matriz del ejemplo anterior: \[ \mathbf{A}=\begin{bmatrix}10&6&0&0 \\6&4&6&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}. \] Vamos a hallar la sucesión de matrices \(\mathbf{A}^{(n)}\) tal que \(\displaystyle\lim_{n\to\infty}\mathbf{A}^{(n)}=\mathbf{D}\), donde \(\mathbf{D}\) es la matriz diagonal con los valores propios de \(\mathbf{A}\) en su diagonal.

Ejemplo de \((\mathbf{A}^{(n)})_{n\geq 0}\) (continuación)

  • Paso \(1\). Sea \(\mathbf{A}^{(1)}=\mathbf{A}\). Descomponemos la matriz \(\mathbf{A}^{(1)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(1)}\) y una matriz triangular superior \(\mathbf{S}^{(1)}\) tal como hicimos en el ejemplo anterior, \(\mathbf{A}^{(1)}=\mathbf{Q}^{(1)}\mathbf{S}^{(1)}\): \[ \begin{align*} \begin{bmatrix}10&6&0&0 \\6&4&6&0 \\0&6&10&9 \\0&0&9&8 \\\end{bmatrix}= & \begin{bmatrix}0.857493&-0.029364&-0.232391&-0.458081 \\0.514496&0.04894&0.387319&0.763468 \\0&0.99837&-0.025821&-0.050898 \\0&0&0.891802&-0.452425 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&10.091923&6.902027 \\0&0&0&-4.077483 \\\end{bmatrix}. \end{align*} \]

Ejemplo de \((\mathbf{A}^{(n)})_{n\geq 0}\) (continuación)

  • Paso \(2\). Sea \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\): \[ \begin{align*} \mathbf{A}^{(2)}= & \begin{bmatrix}11.661904&7.202941&3.086975&0 \\0&6.009796&10.277338&8.98533 \\0&0&10.091923&6.902027 \\0&0&0&-4.077483 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.857493&-0.029364&-0.232391&-0.458081 \\0.514496&0.04894&0.387319&0.763468 \\0&0.99837&-0.025821&-0.050898 \\0&0&0.891802&-0.452425 \\\end{bmatrix} \\ & =\begin{bmatrix}13.705882&3.092014&0&0 \\3.092014&10.554704&10.075473&0 \\0&10.075473&5.894657&-3.636309 \\0&0&-3.636309&1.844756 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es tridiagonal simétrica.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

A continuación descomponemos la matriz anterior \(\mathbf{A}^{(2)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(2)}\) y una matriz triangular superior \(\mathbf{S}^{(2)}\) usando el algoritmo explicado anteriormente, \(\mathbf{A}^{(2)}=\mathbf{Q}^{(2)}\mathbf{S}^{(2)}\): \[ \begin{align*} \begin{bmatrix}13.705882&3.092014&0&0 \\3.092014&10.554704&10.075473&0 \\0&10.075473&5.894657&-3.636309 \\0&0&-3.636309&1.844756 \\\end{bmatrix}= & \begin{bmatrix}0.975485&-0.151934&-0.102122&0.122133 \\0.220067&0.673475&0.452673&-0.541377 \\0&0.723427&-0.442864&0.529646 \\0&0&-0.767157&-0.641459 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}14.05033&5.338955&2.21728&0 \\0&13.92742&11.049938&-2.630604 \\0&0&4.73998&0.195173 \\0&0&0&-3.109292 \\\end{bmatrix}. \end{align*} \]

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(3\). Sea \(\mathbf{A}^{(3)}=\mathbf{S}^{(2)}\mathbf{Q}^{(2)}\): \[ \begin{align*} \mathbf{A}^{(3)}= & \begin{bmatrix}14.05033&5.338955&2.21728&0 \\0&13.92742&11.049938&-2.630604 \\0&0&4.73998&0.195173 \\0&0&0&-3.109292 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.975485&-0.151934&-0.102122&0.122133 \\0.220067&0.673475&0.452673&-0.541377 \\0&0.723427&-0.442864&0.529646 \\0&0&-0.767157&-0.641459 \\\end{bmatrix} \\ & =\begin{bmatrix}14.88081&3.064966&0&0 \\3.064966&17.3736&3.42903&0 \\0&3.42903&-2.248896&2.385315 \\0&0&2.385315&1.994485 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es tridiagonal simétrica.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

A continuación descomponemos la matriz anterior \(\mathbf{A}^{(3)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(3)}\) y una matriz triangular superior \(\mathbf{S}^{(3)}\) usando el algoritmo explicado anteriormente, \(\mathbf{A}^{(3)}=\mathbf{Q}^{(3)}\mathbf{S}^{(3)}\): \[ \begin{align*} \begin{bmatrix}14.88081&3.064966&0&0 \\3.064966&17.3736&3.42903&0 \\0&3.42903&-2.248896&2.385315 \\0&0&2.385315&1.994485 \\\end{bmatrix}= & \begin{bmatrix}0.979441&-0.197462&-0.03184&-0.026291 \\0.201733&0.958704&0.154586&0.127647 \\0&0.204684&-0.75477&-0.623239 \\0&0&0.63672&-0.771095 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}15.193174&6.506783&0.691749&0 \\0&16.752792&2.827111&0.488236 \\0&0&3.746256&-0.530436 \\0&0&0&-3.02456 \\\end{bmatrix}. \end{align*} \]

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(4\). Sea \(\mathbf{A}^{(4)}=\mathbf{S}^{(3)}\mathbf{Q}^{(3)}\): \[ \begin{align*} \mathbf{A}^{(4)}= & \begin{bmatrix}15.193174&6.506783&0.691749&0 \\0&16.752792&2.827111&0.488236 \\0&0&3.746256&-0.530436 \\0&0&0&-3.02456 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.979441&-0.197462&-0.03184&-0.026291 \\0.201733&0.958704&0.154586&0.127647 \\0&0.204684&-0.75477&-0.623239 \\0&0&0.63672&-0.771095 \\\end{bmatrix} \\ & =\begin{bmatrix}16.193444&3.379593&0&0 \\3.379593&16.639632&0.766799&0 \\0&0.766799&-3.165299&-1.925797 \\0&0&-1.925797&2.332224 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es tridiagonal simétrica.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

Y así sucesivamente.

En el paso \(10\) obtenemos la matriz siguiente: \[ \mathbf{A}^{(10)}=\begin{bmatrix}19.765996&0.586966&0&0 \\0.586966&13.098124&0.000307&0 \\0&0.000307&-3.769846&-0.447494 \\0&0&-0.447494&2.905726 \\\end{bmatrix}. \] Fijémonos que la sucesión de matrices \(\mathbf{A}^{(n)}\) cada vez se aproxima más a una matriz diagonal ya que va disminuyendo el máximo de los valores en valor absoluto fuera de la diagonal.

Matrices Hessenberg superiores

Sea \(\mathbf{A}\) una matriz Hessenberg superior:

\[ \mathbf{A}=\begin{bmatrix}a_{11}&a_{12}&a_{13}&a_{14}&\ldots&a_{1n} \\a_{21}&a_{22}&a_{23}&a_{24}&\ldots&a_{2n} \\0&a_{32}&a_{33}&a_{34}&\ldots&a_{3n} \\\vdots&\vdots&\vdots&\ddots&\vdots&\vdots \\0&\ldots&0&a_{n-1,n-2}&a_{n-1,n-1}&a_{n-1,n} \\0&\ldots&\ldots&0&a_{n,n-1}&a_{nn} \\\end{bmatrix}. \] Vamos a aplicar el algoritmo anterior a este tipo de matrices.

Matrices Hessenberg superiores

Es decir, vamos a construir una sucesión de matrices \(\mathbf{A}^{(1)}=\mathbf{A},\mathbf{A}^{(2)},\ldots,\mathbf{A}^{(n)},\ldots,\) todas semejantes a la matriz original \(\mathbf{A}\) y Hesenberg superiores tal que los elementos de los matrices \(\mathbf{A}^{(n)}\) por debajo de la diagonal tienen en valor absoluto valores cada vez más pequeños a medida que aumenta \(n\). Es decir, \[ \lim_{n\to\infty}\max_{i> j}|a_{ij}^{(n)}|=0. \] Entonces los valores propios de la matriz original \(\mathbf{A}\) serán aproximadamente los valores de la diagonal de las matrices \(\mathbf{A}^{(n)}\).

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

Para hallar la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\) se siguen los pasos siguientes tal como hicimos en el caso de matrices tridiagonales simétricas:

  • Paso \(1\). Sea \(\mathbf{A}^{(1)}=\mathbf{A}\). Descomponemos la matriz \(\mathbf{A}^{(1)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(1)}\) y una matriz triangular superior \(\mathbf{S}^{(1)}\): \(\mathbf{A}^{(1)}=\mathbf{Q}^{(1)}\mathbf{S}^{(1)}\).

  • Paso \(2\). Definimos \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\), el producto de la matriz triangular superior por la matriz ortogonal Hessenberg superior. Como \(\mathbf{A}^{(2)}=(\mathbf{Q}^{(1)})^\top\mathbf{A}^{(1)}\mathbf{Q}^{(1)}\) (ver el caso de matrices tridiagonales simétricas), las matrices \(\mathbf{A}^{(1)}\) y \(\mathbf{A}^{(2)}\) son semejantes y tienen los mismos valores propios. La matriz \(\mathbf{A}^{(2)}\) será Hessenberg superior ya que como \(\mathbf{A}^{(2)}\) es el producto de una matriz triangular superior por una matriz Hessenberg superior, \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\), la matriz \(\mathbf{A}^{(2)}\) será Hessenberg superior.

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • A continuación descomponemos la matriz \(\mathbf{A}^{(2)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(2)}\) y una matriz triangular superior \(\mathbf{S}^{(2)}\): \(\mathbf{A}^{(2)}=\mathbf{Q}^{(2)}\mathbf{S}^{(2)}\).

  • Paso \(3\). Definimos \(\mathbf{A}^{(3)}=\mathbf{S}^{(2)}\mathbf{Q}^{(2)}\), etc.

  • \(\vdots\)

Cálculo de la sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(i\). Definimos \(\mathbf{A}^{(i)}=\mathbf{S}^{(i-1)}\mathbf{Q}^{(i-1)}\). Usando un razonamiento inductivo y usando lo visto en el paso \(2\), la matriz \(\mathbf{A}^{(i)}\) será Hessenberg superior. Descomponemos la matriz \(\mathbf{A}^{(i)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(i)}\) y una matriz triangular superior \(\mathbf{S}^{(i)}\): \(\mathbf{A}^{(i)}=\mathbf{Q}^{(i)}\mathbf{S}^{(i)}\).
  • Paso \(i+1\). Definimos \(\mathbf{A}^{(i+1)}=\mathbf{S}^{(i)}\mathbf{Q}^{(i)}\). Como \(\mathbf{A}^{(i+1)}=(\mathbf{Q}^{(i)})^\top\mathbf{A}^{(i)}\mathbf{Q}^{(i)}\) (ver el caso de matrices tridiagonales simétricas), , las matrices \(\mathbf{A}^{(i+1)}\) y \(\mathbf{A}^{(i)}\) son semejantes y tienen los mismos valores propios. Además, usando el mismo razonamiento anterior, la matriz \(\mathbf{A}^{(i+1)}\) sería Hessenberg superior, etc.

Matrices Hessenberg superiores

La descomposición de una matriz Hesenberg superior \(\mathbf{A}\) en una matriz ortogonal \(\mathbf{Q}\) y una matriz triangular superior \(\mathbf{S}\), \(\mathbf{A}=\mathbf{Q}\mathbf{S}\) se hace siguiendo los mismos pasos que en el caso de matrices tridiagonales simétricas.

Los pseudocódigos para la descomposición anterior y para el cálculos de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\) son los mismos que los pseudocódigos de las matrices tridiagonales simétricas.

Ejemplo

Consideremos la matriz Hesenberg superior siguiente: \[ \mathbf{A}=\begin{bmatrix}4&4&5&4 \\5&5&7&4 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}. \] Vamos a hallar una matriz ortogonal Hessenberg superior \(\mathbf{Q}\) y una matriz triangular superior \(\mathbf{S}\) tal que \(\mathbf{A}=\mathbf{Q}\mathbf{S}\).

  • Paso \(1\). Calculamos los valores \(\cos(\alpha_1)\) y \(\sin(\alpha_1)\): \[ \cos(\alpha_1)=\frac{4}{\sqrt{4^2+5^2}}=0.624695,\ \sin(\alpha_1)=\frac{5}{\sqrt{4^2+5^2}}=0.780869. \] La matriz \(\mathbf{R}_{12}\) será: \[ \mathbf{R}_{12}=\begin{bmatrix}0.624695&0.780869&0&0 \\-0.780869&0.624695&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{12}\mathbf{A}\): \[ \mathbf{R}_{12}\mathbf{A}=\begin{bmatrix}0.624695&0.780869&0&0 \\-0.780869&0.624695&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}4&4&5&4 \\5&5&7&4 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}=\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&0&0.468521&-0.624695 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}. \] Observamos que es una matriz Hessenberg superior.

  • Paso \(2\). Calculamos los valores \(\cos(\alpha_2)\) y \(\sin(\alpha_2)\): \[ \cos(\alpha_2)=\frac{0}{\sqrt{0^2+5^2}}=0,\ \sin(\alpha_2)=\frac{5}{\sqrt{0^2+5^2}}=1. \] La matriz \(\mathbf{R}_{23}\) será: \[ \mathbf{R}_{23}=\begin{bmatrix}1&0&0&0 \\0&0&1&0 \\0&-1&0&0 \\0&0&0&1 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A})\): \[ \begin{align*} \mathbf{R}_{23}(\mathbf{R}_{12}\mathbf{A}) & =\begin{bmatrix}1&0&0&0 \\0&0&1&0 \\0&-1&0&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&0&0.468521&-0.624695 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}\\ & =\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&-0.468521&0.624695 \\0&0&5&3 \\\end{bmatrix}. \end{align*} \] Observamos que es una matriz Hessenberg superior.

Ejemplo (continuación)

  • Paso \(3\) y último. Calculamos los valores \(\cos(\alpha_3)\) y \(\sin(\alpha_3)\): \[ \cos(\alpha_3)=\frac{(-0.468521)}{\sqrt{(-0.468521)^2+5^2}}=-0.093296,\ \sin(\alpha_2)=\frac{5}{\sqrt{(-0.468521)^2+5^2}}=0.995638. \] La matriz \(\mathbf{R}_{34}\) será: \[ \mathbf{R}_{34}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.093296&0.995638 \\0&0&-0.995638&-0.093296 \\\end{bmatrix}. \]

Ejemplo (continuación)

A continuación calculamos \(\mathbf{R}_{34}(\mathbf{R}_{23}\mathbf{R}_{12}\mathbf{A})\): \[ \begin{align*} \mathbf{R}_{34}(\mathbf{R}_{23}\mathbf{R}_{12}\mathbf{A}) & =\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.093296&0.995638 \\0&0&-0.995638&-0.093296 \\\end{bmatrix}\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&-0.468521&0.624695 \\0&0&5&3 \\\end{bmatrix}\\ & =\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&5.021903&2.928634 \\0&0&0&-0.901857 \\\end{bmatrix}. \end{align*} \] Observamos que es una matriz triangular superior. Ésta será la matriz \(\mathbf{S}\).

Ejemplo (continuación)

La matriz \(\mathbf{Q}\) será: \[ \begin{align*} \mathbf{Q} & =\mathbf{R}_{12}^\top\mathbf{R}_{23}^\top\mathbf{R}_{34}^\top \\ & = \begin{bmatrix}0.624695&-0.780869&0&0 \\0.780869&0.624695&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}1&0&0&0 \\0&0&-1&0 \\0&1&0&0 \\0&0&0&1 \\\end{bmatrix}\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.093296&-0.995638 \\0&0&0.995638&-0.093296 \\\end{bmatrix} \\ & = \begin{bmatrix}0.624695&0&-0.072852&-0.777463 \\0.780869&0&0.058281&0.62197 \\0&1&0&0 \\0&0&0.995638&-0.093296 \\\end{bmatrix}. \end{align*} \]

Ejemplo (continuación)

Podemos escribir, pues que \(\mathbf{A}=\mathbf{Q}\mathbf{S}\): \[ \begin{align*} \begin{bmatrix}4&4&5&4 \\5&5&7&4 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}= & \begin{bmatrix}0.624695&0&-0.072852&-0.777463 \\0.780869&0&0.058281&0.62197 \\0&1&0&0 \\0&0&0.995638&-0.093296 \\\end{bmatrix}\cdot\\ &\begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&5.021903&2.928634 \\0&0&0&-0.901857 \\\end{bmatrix}. \end{align*} \]

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

Consideremos la matriz del ejemplo anterior: \[ \mathbf{A}=\begin{bmatrix}4&4&5&4 \\5&5&7&4 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}. \] Vamos a hallar la sucesión de matrices \(\mathbf{A}^{(n)}\) tal que \(\displaystyle\lim_{n\to\infty}\mathbf{A}^{(n)}=\mathbf{S}\), donde \(\mathbf{S}\) es la matriz triangular superior con los valores propios de \(\mathbf{A}\) en su diagonal.

Ejemplo de \((\mathbf{A}^{(n)})_{n\geq 0}\) (continuación)

  • Paso \(1\). Sea \(\mathbf{A}^{(1)}=\mathbf{A}\). Descomponemos la matriz \(\mathbf{A}^{(1)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(1)}\) y una matriz triangular superior \(\mathbf{S}^{(1)}\) tal como hicimos en el ejemplo anterior, \(\mathbf{A}^{(1)}=\mathbf{Q}^{(1)}\mathbf{S}^{(1)}\): \[ \begin{align*} \begin{bmatrix}4&4&5&4 \\5&5&7&4 \\0&5&1&5 \\0&0&5&3 \\\end{bmatrix}= & \begin{bmatrix}0.624695&0&-0.072852&-0.777463 \\0.780869&0&0.058281&0.62197 \\0&1&0&0 \\0&0&0.995638&-0.093296 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&5.021903&2.928634 \\0&0&0&-0.901857 \\\end{bmatrix}. \end{align*} \]

Ejemplo de \((\mathbf{A}^{(n)})_{n\geq 0}\) (continuación)

  • Paso \(2\). Sea \(\mathbf{A}^{(2)}=\mathbf{S}^{(1)}\mathbf{Q}^{(1)}\): \[ \begin{align*} \mathbf{A}^{(2)}= & \begin{bmatrix}6.403124&6.403124&8.589557&5.622255 \\0&5&1&5 \\0&0&5.021903&2.928634 \\0&0&0&-0.901857 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.624695&0&-0.072852&-0.777463 \\0.780869&0&0.058281&0.62197 \\0&1&0&0 \\0&0&0.995638&-0.093296 \\\end{bmatrix} \\ & =\begin{bmatrix}9&8.589557&5.504438&-1.52017 \\3.904344&1&5.269599&2.643374 \\0&5.021903&2.915861&-0.273229 \\0&0&-0.897924&0.084139 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es Hessenberg superior.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

A continuación descomponemos la matriz anterior \(\mathbf{A}^{(2)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(2)}\) y una matriz triangular superior \(\mathbf{S}^{(2)}\) usando el algoritmo explicado anteriormente, \(\mathbf{A}^{(2)}=\mathbf{Q}^{(2)}\mathbf{S}^{(2)}\): \[ \begin{align*} \begin{bmatrix}9&8.589557&5.504438&-1.52017 \\3.904344&1&5.269599&2.643374 \\0&5.021903&2.915861&-0.273229 \\0&0&-0.897924&0.084139 \\\end{bmatrix}= & \begin{bmatrix}0.917394&0.177422&-0.346018&0.084744 \\0.39798&-0.408979&0.797614&-0.195345 \\0&0.89513&0.433008&-0.106049 \\0&0&-0.237882&-0.971294 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}9.810398&8.277988&7.146935&-0.342584 \\0&5.610251&1.431525&-1.595371 \\0&0&3.774663&2.496072 \\0&0&0&-0.697945 \\\end{bmatrix}. \end{align*} \]

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(3\). Sea \(\mathbf{A}^{(3)}=\mathbf{S}^{(2)}\mathbf{Q}^{(2)}\): \[ \begin{align*} \mathbf{A}^{(3)}= & \begin{bmatrix}9.810398&8.277988&7.146935&-0.342584 \\0&5.610251&1.431525&-1.595371 \\0&0&3.774663&2.496072 \\0&0&0&-0.697945 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.917394&0.177422&-0.346018&0.084744 \\0.39798&-0.408979&0.797614&-0.195345 \\0&0.89513&0.433008&-0.106049 \\0&0&-0.237882&-0.971294 \\\end{bmatrix} \\ & =\begin{bmatrix}12.294475&4.752488&6.384243&-1.21087 \\2.232769&-1.013074&5.474186&0.301826 \\0&3.378814&1.04069&-2.82472 \\0&0&0.166028&0.677909 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es Hessenberg superior.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

A continuación descomponemos la matriz anterior \(\mathbf{A}^{(3)}\) en el producto de una matriz ortogonal Hessenberg superior \(\mathbf{Q}^{(3)}\) y una matriz triangular superior \(\mathbf{S}^{(3)}\) usando el algoritmo explicado anteriormente, \(\mathbf{A}^{(3)}=\mathbf{Q}^{(3)}\mathbf{S}^{(3)}\): \[ \begin{align*} \begin{bmatrix}12.294475&4.752488&6.384243&-1.21087 \\2.232769&-1.013074&5.474186&0.301826 \\0&3.378814&1.04069&-2.82472 \\0&0&0.166028&0.677909 \\\end{bmatrix}= & \begin{bmatrix}0.983906&0.08567&-0.156687&-0.006158 \\0.178685&-0.471732&0.862781&0.033908 \\0&0.87757&0.479078&0.018828 \\0&0&0.039271&-0.999229 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}12.495574&4.494982&7.259651&-1.137451 \\0&3.850192&-1.122132&-2.725006 \\0&0&4.227784&-0.876502 \\0&0&0&-0.71288 \\\end{bmatrix}. \end{align*} \]

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

  • Paso \(4\). Sea \(\mathbf{A}^{(4)}=\mathbf{S}^{(3)}\mathbf{Q}^{(3)}\): \[ \begin{align*} \mathbf{A}^{(4)}= & \begin{bmatrix}12.495574&4.494982&7.259651&-1.137451 \\0&3.850192&-1.122132&-2.725006 \\0&0&4.227784&-0.876502 \\0&0&0&-0.71288 \\\end{bmatrix}\cdot\\ & \begin{bmatrix}0.983906&0.08567&-0.156687&-0.006158 \\0.178685&-0.471732&0.862781&0.033908 \\0&0.87757&0.479078&0.018828 \\0&0&0.039271&-0.999229 \\\end{bmatrix} \\ & =\begin{bmatrix}13.09766&5.320923&5.353557&1.34873 \\0.687971&-2.801009&2.67727&2.83233 \\0&3.710177&1.991019&0.955428 \\0&0&-0.027995&0.71233 \\\end{bmatrix}. \end{align*} \] Fijémonos que la matriz anterior es Hessenberg superior.

Ejemplo de cálculo de la sucesión \((\mathbf{A}^{(n)})_{n\geq 0}\)

Y así sucesivamente.

En el paso \(10\) obtenemos la matriz siguiente: \[ \mathbf{A}^{(10)}=\begin{bmatrix}13.413938&2.011465&6.742814&1.565461 \\0.000884&-4.487188&-0.518904&2.10313 \\0&0.699297&3.33237&2.033268 \\0&0&-0.000003&0.74088 \\\end{bmatrix}. \] Fijémonos que la sucesión de matrices \(\mathbf{A}^{(n)}\) cada vez se aproxima más a una matriz triangular superior ya que va disminuyendo el máximo de los valores en valor absoluto por debajo de la diagonal.

Método de Householder

Recapitulemos lo visto hasta el momento:

Si la matriz a hallar los valores propios es tridiagonal simétrica o Hessenberg superior, podemos hallar una sucesión de matrices \((\mathbf{A}^{(n)})_{n\geq 0}\) de matrices tridiagonales simétricas en el primer caso o Hessenberg superior en el segundo tal que los valores propios de la matriz original \(\mathbf{A}\) se aproximan como los valores diagonales de dicha sucesión de matrices a medida que \(n\) se hace grande.

Método de Householder

Ahora bien, ¿qué ocurre si nuestra matriz \(\mathbf{A}\) no es de ninguno de los dos tipos mencionados antes?

En este caso, como ya comentamos en la introducción del capítulo, vamos a hallar una matriz ortogonal \(\mathbf{H}\) tal que \(\mathbf{H}^\top\mathbf{A}\mathbf{H}=\mathbf{B}\), donde \(\mathbf{B}\) será tridiagonal simétrica si la matriz \(\mathbf{A}\) es simétrica, o Hessenberg superior en caso contrario.

Como las matrices \(\mathbf{A}\) y \(\mathbf{B}\) tienen los mismos valores propios, para hallar los valores propios de \(\mathbf{B}\) usamos los métodos descritos anteriormente y ya tendremos una aproximación de los valores propios de la matriz original \(\mathbf{A}\).

La transformación de la matriz \(\mathbf{A}\) en la matriz \(\mathbf{B}\) se denomina método de Householder y la matriz de transformación \(\mathbf{H}\), matriz de Householder.

Empecemos, pues, a definir el concepto de matriz de Householder.

Matrices de Householder

Definición de matriz de Householder.

Sea \(\mathbf{w}\in\mathbb{R}^n\) un vector de \(\mathbb{R}^n\) de norma euclídea igual a \(1\), es decir, \(\mathbf{w}^\top \mathbf{w}=1\).

La matriz \(n\times n\) \[ \mathbf{P}(\mathbf{w})=\mathbf{I}-2\mathbf{w}\mathbf{w}^\top, \] se denomina matriz de Householder.

Matrices de Householder. Ejemplo

Sea el vector \(\mathbf{w}=\begin{bmatrix}1 \\2 \\-1 \\3 \\\end{bmatrix}\).

Vamos a hallar la matriz de Householder asociada a \(\mathbf{w}\). Primero lo normalizamos: \[ \mathbf{w}'=\frac{w}{\|\mathbf{w}\|_2}=\frac{1}{\sqrt{1^2+2^2+(-1)^2+3^2}}\begin{bmatrix}1 \\2 \\-1 \\3 \\\end{bmatrix}=\frac{1}{3.872983}\begin{bmatrix}1 \\2 \\-1 \\3 \\\end{bmatrix}=\begin{bmatrix}0.258199 \\0.516398 \\-0.258199 \\0.774597 \\\end{bmatrix}. \]

Matrices de Householder. Ejemplo

La matriz de Householder sería: \[ \begin{align*} \mathbf{P}(\mathbf{w}') & =\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}-2\mathbf{w}'\mathbf{w}'^\top=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}-2\begin{bmatrix}0.258199 \\0.516398 \\-0.258199 \\0.774597 \\\end{bmatrix}(0.258199, 0.516398, -0.258199, 0.774597) \\ & =\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&1&0 \\0&0&0&1 \\\end{bmatrix}-2\begin{bmatrix}0.2582 \cdot 0.2582&0.2582 \cdot 0.5164&0.2582 \cdot ( -0.2582 )&0.2582 \cdot 0.7746 \\0.5164 \cdot 0.2582&0.5164 \cdot 0.5164&0.5164 \cdot ( -0.2582 )&0.5164 \cdot 0.7746 \\-0.2582 \cdot 0.2582&-0.2582 \cdot 0.5164&-0.2582 \cdot ( -0.2582 )&-0.2582 \cdot 0.7746 \\0.7746 \cdot 0.2582&0.7746 \cdot 0.5164&0.7746 \cdot ( -0.2582 )&0.7746 \cdot 0.7746 \\\end{bmatrix}\\ & =\begin{bmatrix}0.866667&-0.266667&0.133333&-0.4 \\-0.266667&0.466667&0.266667&-0.8 \\0.133333&0.266667&0.866667&0.4 \\-0.4&-0.8&0.4&-0.2 \\\end{bmatrix} \end{align*} \]

Matrices de Householder. Propiedades

Las matrices de Householder son simétricas y ortogonales:

Teorema. Sea \(\mathbf{w}\in\mathbb{R}^n\) un vector de \(\mathbb{R}^n\) con \(\|\mathbf{w}\|_2=1\), o \(\mathbf{w}^\top\mathbf{w}=1\). Entonces la matriz \(\mathbf{P}(\mathbf{w})\) es simétrica y ortogonal.

Demostración

Para demostrar que la matriz \(\mathbf{P}(\mathbf{w})\) es simétrica, veamos que \(\mathbf{P}(\mathbf{w})^\top =\mathbf{P}(\mathbf{w})\): \[ \mathbf{P}(\mathbf{w})^\top =\left(\mathbf{I}-2\mathbf{w}\mathbf{w}^\top\right)^\top =\mathbf{I}^\top-2 (\mathbf{w}^\top)^\top\mathbf{w}^\top =\mathbf{I}-2\mathbf{w}\mathbf{w}^\top =\mathbf{P}(\mathbf{w}), \] como queríamos ver.

Para demostrar que la matriz \(\mathbf{P}(\mathbf{w})\) es ortogonal, veamos que \(\mathbf{P}(\mathbf{w})^\top\mathbf{P}({\mathbf{w}})=\mathbf{I}\), o que \(\mathbf{P}(\mathbf{w})\mathbf{P}({\mathbf{w}})=\mathbf{I}\), (ya que hemos visto que \(\mathbf{P}(\mathbf{w})^\top =\mathbf{P}(\mathbf{w})\)): \[ \mathbf{P}(\mathbf{w})\mathbf{P}({\mathbf{w}})=\left(\mathbf{I}-2\mathbf{w}\mathbf{w}^\top\right)\left(\mathbf{I}-2\mathbf{w}\mathbf{w}^\top\right)=\mathbf{I}-2\mathbf{w}\mathbf{w}^\top-2\mathbf{w}\mathbf{w}^\top+4\mathbf{w}(\mathbf{w}^\top\mathbf{w})\mathbf{w}^\top =\mathbf{I}-4\mathbf{w}\mathbf{w}^\top+4\mathbf{w}\mathbf{w}^\top=\mathbf{I}, \] como queríamos demostrar.

Transformación en un matriz Hess. superior

Como ya hemos comentado, el objetivo es transformar nuestra matriz original \(\mathbf{A}\) en una matriz Hessenberg superior \(\mathbf{B}\).

Realizaremos dicha transformación en \(n-1\) pasos. Sea \(\mathbf{A}^{(1)}=\mathbf{A}\).

  • Paso \(1\). Hallaremos una matriz de Householder \(\mathbf{P}^{(1)}\) tal que la matriz \(\mathbf{A}^{(2)}=(\mathbf{P}^{(1)})^\top\mathbf{A}\mathbf{P}^{(1)}=\mathbf{P}^{(1)}\mathbf{A}\mathbf{P}^{(1)}\) sea una matriz con la primera columna nula a partir de la tercera componente: \(a_{i1}^{(2)}=0\), \(i=3,\ldots,n\):

\[ \mathbf{A}^{(2)}=\begin{bmatrix}a_{11}^{(2)}&a_{12}^{(2)}&a_{13}^{(2)}&\ldots&a_{1n}^{(2)} \\a_{21}^{(2)}&a_{22}^{(2)}&a_{23}^{(2)}&\ldots&a_{2n}^{(2)} \\0&a_{32}^{(2)}&a_{33}^{(2)}&\ldots&a_{3n}^{(2)} \\\vdots&\vdots&\vdots&\ddots&\vdots \\0&a_{n2}^{(2)}&\ldots&a_{n,n-1}^{(2)}&a_{nn}^{(2)} \\\end{bmatrix}. \]

Transformación en un matriz Hess. superior

  • Paso \(1\) (continuación). Las matrices \(\mathbf{A}^{(2)}\) y \(\mathbf{A}^{(1)}\) son semejantes con matriz de transformación ortogonal y simétrica \(\mathbf{P}^{(1)}\). Por tanto, tienen los mismos valores propios. Además, si la matriz \(\mathbf{A}=\mathbf{A}^{(1)}\) es simétrica, también lo es \(\mathbf{A}^{(2)}\) ya que \((\mathbf{A}^{(2)})^\top =(\mathbf{P}^{(1)}\mathbf{A}\mathbf{P}^{(1)})^\top = \mathbf{P}^{(1)}\mathbf{A}^\top\mathbf{P}^{(1)}=\mathbf{P}^{(1)}\mathbf{A}\mathbf{P}^{(1)}=\mathbf{A}^{(2)}\).

Transformación en un matriz Hess. superior

  • Paso \(2\). Hallaremos una matriz de Householder \(\mathbf{P}^{(2)}\) tal que la matriz \(\mathbf{A}^{(3)}=(\mathbf{P}^{(2)})^\top\mathbf{A}^{(2)}\mathbf{P}^{(2)}=\mathbf{P}^{(2)}\mathbf{A}^{(2)}\mathbf{P}^{(2)}\) sea una matriz de la forma siguiente, con la primera columna nula a partir de la tercera componente y con la segunda columna nula a partir de la cuarta componente: \(a_{i1}^{(3)}=0\), \(i=3,\ldots,n\), \(a_{i2}^{(3)}=0\), \(i=4,\ldots,n\).

\[ \mathbf{A}^{(3)}=\begin{bmatrix}a_{11}^{(3)}&a_{12}^{(3)}&a_{13}^{(3)}&\ldots&a_{1n}^{(3)} \\a_{21}^{(3)}&a_{22}^{(3)}&a_{23}^{(3)}&\ldots&a_{2n}^{(3)} \\0&a_{32}^{(3)}&a_{33}^{(3)}&\ldots&a_{3n}^{(3)} \\0&0&a_{43}^{(3)}&\ldots&a_{4n}^{(3)} \\\vdots&\vdots&\vdots&\ddots&\vdots \\0&0&a_{n3}^{(3)}&\ldots&a_{nn}^{(3)} \\\end{bmatrix}. \]

Transformación en un matriz Hess. superior

  • Paso \(2\) (continuación). Las matrices \(\mathbf{A}^{(3)}\) y \(\mathbf{A}^{(2)}\) son semejantes con matriz de transformación ortogonal y simétrica \(\mathbf{P}^{(2)}\). Por tanto, tienen los mismos valores propios. Además, si la matriz \(\mathbf{A}=\mathbf{A}^{(2)}\) es simétrica, también lo es \(\mathbf{A}^{(3)}\) ya que \((\mathbf{A}^{(3)})^\top =(\mathbf{P}^{(2)}\mathbf{A}^{(2)}\mathbf{P}^{(2)})^\top = \mathbf{P}^{(2)}(\mathbf{A}^{(2)})^\top\mathbf{P}^{(2)}=\mathbf{P}^{(2)}\mathbf{A}^{(2)}\mathbf{P}^{(2)}=\mathbf{A}^{(3)}\).

Transformación en un matriz Hess. superior

  • Paso \(k\)-ésimo. Suponemos que la matriz \(\mathbf{A}^{(k)}\) es de la forma:

\[ \mathbf{A}^{(i)}=\begin{bmatrix}a_{11}^{(k)}&a_{12}^{(k)}&\ldots&a_{1,k-1}^{(k)}&a_{1,k}^{(k)}&\ldots&a_{1,n}^{(k)} \\a_{21}^{(k)}&a_{22}^{(k)}&\ldots&a_{2,k-1}^{(k)}&a_{2,k}^{(k)}&\ldots&a_{2,n}^{(k)} \\0&a_{32}^{(k)}&\ldots&a_{3,k-1}^{(k)}&a_{3,k}^{(k)}&\ldots&a_{3,n}^{(k)} \\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&0&\ldots&a_{k-1,k-1}^{(k)}&a_{k-1,k}^{(k)}&\ldots&a_{k-1,n}^{(k)} \\0&0&\ldots&a_{k,k-1}^{(k)}&a_{k,k}^{(k)}&\ldots&a_{k,n}^{(k)} \\0&0&\ldots&0&a_{k+1,k}^{(k)}&\ldots&a_{k+1,n}^{(k)} \\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&0&\ldots&0&a_{n,k}^{(k)}&\ldots&a_{n,n}^{(k)} \\\end{bmatrix}. \]

Transformación en un matriz Hess. superior

  • Paso \(k\)-ésimo. Es decir, \(a_{jl}^{(k)}=0\) para \(l=1,\ldots,k-1\), \(j=l+2,\ldots,n\). Dicho en otras palabras, la matriz \(\mathbf{A}^{(k)}\) es una matriz Hessenberg superior hasta la columna \(k-1\)-ésima.

Hallaremos una matriz de Householder \(\mathbf{P}^{(k)}\) tal que la matriz \(\mathbf{A}^{(k+1)}=(\mathbf{P}^{(k)})^\top\mathbf{A}^{(k)}\mathbf{P}^{(k)}=\mathbf{P}^{(k)}\mathbf{A}^{(k)}\mathbf{P}^{(k)}\) sea una matriz de Householder hasta la columna \(k\)-ésima:

Transformación en un matriz Hess. superior

\[ \mathbf{A}^{(k+1)}=\begin{bmatrix}a_{11}^{(k+1)}&a_{12}^{(k+1)}&\ldots&a_{1,k}^{(k+1)}&a_{1,k+1}^{(k+1)}&\ldots&a_{1,n}^{(k+1)} \\a_{21}^{(k+1)}&a_{22}^{(k+1)}&\ldots&a_{2,k}^{(k+1)}&a_{2,k+1}^{(k+1)}&\ldots&a_{2,n}^{(k+1)} \\0&a_{32}^{(k+1)}&\ldots&a_{3,k}^{(k+1)}&a_{3,k+1}^{(k+1)}&\ldots&a_{3,n}^{(k+1)} \\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&0&\ldots&a_{k,k}^{(k+1)}&a_{k,k+1}^{(k+1)}&\ldots&a_{k,n}^{(k+1)} \\0&0&\ldots&a_{k+1,k}^{(k+1)}&a_{k+1,k+1}^{(k+1)}&\ldots&a_{k+1,n}^{(k+1)} \\0&0&\ldots&0&a_{k+2,k+1}^{(k+1)}&\ldots&a_{k+2,n}^{(k+1)} \\\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots \\0&0&\ldots&0&a_{n,k+1}^{(k+1)}&\ldots&a_{n,n}^{(k+1)} \\\end{bmatrix}. \]

Transformación en un matriz Hess. superior

  • Paso \(n-1\)-ésimo. La matriz \(\mathbf{B}\) será \(\mathbf{B}=\mathbf{A}^{(n-1)}\) ya que sería Hessenberg superior en el caso general y tridiagonal simétrica en el caso en que la matriz original sea simétrica. La última afirmación se deduce del hecho de que las matrices que se van obteniendo \(\mathbf{A}^{(1)},\mathbf{A}^{(2)},\ldots,\mathbf{A}^{(n-1)}\) son Hessenberg superiores y simétricas y toda matriz Hessenberg superior simétrica es trivialmente tridiagonal simétrica.

De hecho podemos escribir la matriz \(\mathbf{A}^{(n-1)}\) de la forma siguiente: \[ \mathbf{B}=\mathbf{A}^{(n-1)}=\mathbf{P}^{(n-1)}\cdots\mathbf{P}^{(1)}\mathbf{A}\mathbf{P}^{(1)}\cdots\mathbf{P}^{(n-1)}. \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Veamos cómo calcular las matrices de transformación o de Householder en los pasos anteriores:

  • Cálculo de \(\mathbf{P}^{(1)}\). Hemos de hallar un vector \(\mathbf{w}\) tal que \(\mathbf{P}^{(1)}=\mathbf{I}-2\mathbf{w}(\mathbf{w})^\top\). La condición que debe verificar \(\mathbf{P}^{(1)}\) es la siguiente: \[ \mathbf{P}^{(1)}\mathbf{A}^{(1)}\mathbf{P}^{(1)}=\mathbf{A}^{(2)}, \] con \(a_{i1}^{(2)}=0\), para \(i=3,\ldots,n\).

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Elegimos el vector \(\mathbf{w}\) de la forma \(\mathbf{w}=(0,\hat{\mathbf{w}})^\top\), es decir, elegimos el vector \(\mathbf{w}\) con la primera componente igual a \(0\) y \(\hat{\mathbf{w}}=\begin{bmatrix}w_2\\\vdots\\ w_n\end{bmatrix}\).

Además, imponemos que se verifique que: \(\mathbf{P}^{(1)}\mathbf{a}^{(1)}=\begin{bmatrix}a_{11}^{(1)}\\ \alpha\\ 0\\\vdots\\ 0\end{bmatrix}\), donde \(\mathbf{a}^{(1)}\) representa la primera columna de la matriz \(\mathbf{A}^{(1)}\) y \(\alpha\) es un valor que calcularemos más tarde.

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Escribimos la matriz a hallar \(\mathbf{P}^{(1)}\) de la forma siguiente:

\[ \mathbf{P}^{(1)}=\begin{bmatrix}1&0&\ldots&0 \\0&*&\ldots&* \\\vdots&\vdots&\vdots&\vdots \\0&*&\ldots&* \\\end{bmatrix}. \] Llamamos \(\hat{\mathbf{P}}\) a la submatriz anterior de dimensiones \((n-1)\times (n-1)\) donde aparecen los asteriscos: \(\mathbf{P}^{(1)}=\begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}\).

Como \(\mathbf{P}^{(1)}=\mathbf{I}-2\mathbf{w}\mathbf{w}^\top\), la matriz \(\hat{\mathbf{P}}\) también será de Householder, (y, por tanto, simétrica y ortogonal) con vector asociado \(\hat{\mathbf{w}}\): \(\hat{\mathbf{P}}=\mathbf{I}-2\hat{\mathbf{w}}\hat{\mathbf{w}}^\top\).

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Ejercicio

Demostrar la igualdad anterior: \(\hat{\mathbf{P}}=\mathbf{I}-2\hat{\mathbf{w}}\hat{\mathbf{w}}^\top\).

Indicación: fijarse que, como \(\|\mathbf{w}\|_2^2 =\mathbf{w}^\top \mathbf{w}=1\), también se verificará que \(\|\hat{\mathbf{w}}\|_2^2=\hat{\mathbf{w}}^\top \hat{\mathbf{w}}=1\) ya que \(w_1=0\) y para demostrar la igualdad basta fijarse en que la matriz \(\mathbf{w}\mathbf{w}^\top\) puede escribirse como: \[ \mathbf{w}\mathbf{w}^\top=\begin{bmatrix}0&\mathbf{0}\\ \mathbf{0}&\hat{\mathbf{w}}\hat{\mathbf{w}}^\top \end{bmatrix}. \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Como \(\mathbf{P}^{(1)}\mathbf{a}^{(1)}=\begin{bmatrix}a_{11}^{(1)}\\ \alpha\\ 0\\\vdots\\ 0\end{bmatrix}\), tendremos que: \[ \begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}\begin{bmatrix}a_{11}^{(1)}\\ a_{21}^{(1)}\\\vdots\\ a_{n1}^{(1)}\end{bmatrix}=\begin{bmatrix}a_{11}^{(1)}\\ \alpha\\ 0\\\vdots\\ 0\end{bmatrix},\ \Rightarrow \hat{\mathbf{P}}\begin{bmatrix}a_{21}^{(1)}\\ \\\vdots\\ a_{n1}^{(1)}\end{bmatrix}=\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}. \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Llamamos \(\hat{\mathbf{a}^{(1)}}\) a la subcolumna de la matriz \(\mathbf{A}^{(1)}\) formada por las \(n-1\) últimas componentes. La condición anterior será, pues: \[ \hat{\mathbf{P}}\hat{\mathbf{a}^{(1)}}=\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix},\ \Rightarrow (\mathbf{I}-2\hat{\mathbf{w}}\hat{\mathbf{w}}^\top)\hat{\mathbf{a}^{(1)}}=\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix},\ \Rightarrow \hat{\mathbf{a}^{(1)}}-2((\hat{\mathbf{w}})^\top \hat{\mathbf{a}^{(1)}})\hat{\mathbf{w}}=\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}. \] Sea \(\beta =(\hat{\mathbf{w}})^\top \hat{\mathbf{a}^{(1)}}\). La condición anterior, escrita en componentes, es la siguiente: \[ a_{21}^{(1)}-2\beta w_2=\alpha,\ a_{j1}^{(1)}-2\beta w_j=0,\ j=3,\ldots,n. \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Entonces: \[ 2\beta w_2=a_{21}^{(1)}-\alpha,\ 2\beta w_j=a_{j1}^{(1)},\ j=3,\ldots,n. \] Como \(\hat{\mathbf{w}}^\top \hat{\mathbf{w}}=1\), tendremos que \(\displaystyle\sum_{j=2}^n w_j^2=1\). Entonces: \[ 4\beta^2 \left(w_2^2+\sum_{j=3}^n w_j^2\right)=4\beta^2\sum_{j=2}^n w_j^2=4\beta^2 =(a_{21}^{(1)}-\alpha)^2+\sum_{j=3}^n (a_{j1}^{(1)})^2. \] Ahora bien, recordemos que \(\hat{\mathbf{P}}\hat{\mathbf{a}^{(1)}}=\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}\), es decir \(\hat{\mathbf{a}^{(1)}}=\hat{\mathbf{P}}\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}.\)

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Como \(\hat{\mathbf{P}}\) es ortogonal: \[ \begin{align*} \|\hat{\mathbf{a}^{(1)}}\|_2^2 & =(\hat{\mathbf{a}^{(1)}})^\top \hat{\mathbf{a}^{(1)}}=\left(\hat{\mathbf{P}}\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}\right)^\top \hat{\mathbf{P}}\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}=(\alpha,0,\ldots,0)\hat{\mathbf{P}}^\top\hat{\mathbf{P}}\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}\\ & =(\alpha,0,\ldots,0)\begin{bmatrix}\alpha\\ 0\\\vdots\\ 0\end{bmatrix}=\alpha^2. \end{align*} \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

El valor de \(\alpha^2\) será: \[ \alpha^2 = \|\hat{\mathbf{a}^{(1)}}\|_2^2=\sum_{j=2}^n (a_{j1}^{(1)})^2. \] El valor de \(\beta^2\) verificará: \[ \begin{align*} 4\beta^2 & =(a_{21}^{(1)}-\alpha)^2+\sum_{j=3}^n (a_{j1}^{(1)})^2=\alpha^2-2\alpha a_{21}^{(1)}+(a_{21}^{(1)})^2+\sum_{j=3}^n (a_{j1}^{(1)})^2\\ & =\sum_{j=2}^n (a_{j1}^{(1)})^2-2\alpha a_{21}^{(1)}+\sum_{j=2}^n (a_{j1}^{(1)})^2 =2\sum_{j=2}^n (a_{j1}^{(1)})^2-2\alpha a_{21}^{(1)}, \end{align*} \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

de donde deducimos que: \[ \beta^2 =\frac{1}{2}\left(\sum_{j=2}^n (a_{j1}^{(1)})^2-\alpha a_{21}^{(1)}\right). \] Como \(\beta^2\geq 0\), tenemos que elegir \(\alpha\) como: \[ \alpha =-\mathrm{signo}(a_{21}^{(1)})\sqrt{\sum_{j=2}^n (a_{j1}^{(1)})^2}, \] donde la función signo está definida como \[ \mathrm{signo}(x)=\begin{cases}1, & \mathrm{si\ }x\geq 0,\\ -1,& \mathrm{si\ }x<0.\end{cases} \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

El valor de \(\beta^2\), será, pues: \[ \beta^2 = \frac{1}{2}\left(\sum_{j=2}^n (a_{j1}^{(1)})^2+ |a_{21}^{(1)}|\sqrt{\sum_{j=2}^n (a_{j1}^{(1)})^2}\right). \]

Las componentes \(w_i\), \(i=2,\ldots,n\) del vector \(\mathbf{w}\) (recordemos que elegimos \(w_1=0\)) son: \[ w_2 = \frac{a_{21}^{(1)}-\alpha}{2\beta},\ w_j =\frac{a_{j1}^{(1)}}{2\beta},\ j=3,\ldots,n. \]

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Ya tenemos definida la matriz \(\hat{\mathbf{P}}\) y la matriz \(\mathbf{P}\).

Veamos que es la matriz que buscamos:

Proposición.

La matriz \(\mathbf{P}^{(1)}=\begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}\), con \(\hat{\mathbf{P}}\) la matriz hallada anteriormente verifica que: \[ \mathbf{P}^{(1)}\mathbf{A}^{(1)}\mathbf{P}^{(1)}=\begin{bmatrix}a_{11}^{(2)}&a_{12}^{(2)}&a_{13}^{(2)}&\ldots&a_{1n}^{(2)} \\a_{21}^{(2)}&a_{22}^{(2)}&a_{23}^{(2)}&\ldots&a_{2n}^{(2)} \\0&a_{32}^{(2)}&a_{33}^{(2)}&\ldots&a_{3n}^{(2)} \\\vdots&\vdots&\vdots&\ddots&\vdots \\0&a_{n2}^{(2)}&\ldots&a_{n,n-1}^{(2)}&a_{nn}^{(2)} \\\end{bmatrix}. \]

Demostración de la proposición

Sea \(\hat{\mathbf{A}}\) la submatriz de la matriz \(\mathbf{A}^{(1)}\) formada por las \(n-1\) últimas filas y columnas, es decir: \[ \mathbf{A}^{(1)}=\begin{bmatrix}a_{11} & \mathbf{f}^{(1)}\\\mathbf{a}^{(1)} & \hat{\mathbf{A}}\end{bmatrix}, \] donde \(\mathbf{f}^{(1)}\) sería el vector de las \(n-1\) últimas componentes de la primera fila de la matriz \(\mathbf{A}^{(1)}\), \(\mathbf{f}^{(1)}=(a_{12},\ldots,a_{1n})\) y recordemos que \(\mathbf{a}^{(1)}\) era la primera columna de la matriz \(\mathbf{A}^{(1)}\).

El producto \(\mathbf{P}^{(1)}\mathbf{A}^{(1)}\mathbf{P}^{(1)}\) se puede escribir como: \[ \begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}\begin{bmatrix}a_{11} & \mathbf{f}^{(1)}\\\mathbf{a}^{(1)} & \hat{\mathbf{A}}\end{bmatrix}\begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}=\begin{bmatrix}a_{11} & \mathbf{f}^{(1)}\\ \hat{\mathbf{P}}\mathbf{a}^{(1)} & \hat{\mathbf{P}}\hat{\mathbf{A}}\end{bmatrix}\begin{bmatrix}1&\mathbf{0}\\\mathbf{0}&\hat{\mathbf{P}}\end{bmatrix}=\begin{bmatrix}a_{11}& \mathbf{f}^{(1)}\hat{\mathbf{P}}\\ \begin{bmatrix}\alpha\\\mathbf{0}\end{bmatrix}& \hat{\mathbf{P}}\hat{\mathbf{A}}\hat{\mathbf{P}}\end{bmatrix}. \] Observamos que la última matriz es de la forma que dice la proposición. Por tanto, ya está demostrada.

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

  • Paso \(k\)-ésimo. Elegimos el vector \(\mathbf{w}\) de la forma: \[ \mathbf{w}=\begin{bmatrix}\mathbf{0}\\\hat{\mathbf{w}}\end{bmatrix}=\begin{bmatrix}\mathbf{0}\\ w_{k+1}\\\vdots\\ w_n\end{bmatrix},\ \hat{\mathbf{w}}=\begin{bmatrix}w_{k+1}\\\vdots\\ w_n\end{bmatrix}, \] y la matriz \(\mathbf{P}^{(k)}\) de la forma: \(\mathbf{P}^{(k)}=\mathbf{I}-2\mathbf{w}\mathbf{w}^\top.\)

Cálculo de las matrices \(\mathbf{P}^{(k)}\)

Los valores \(w_{k+1},\ldots,w_n\) son los siguientes: \[ w_{k+1}=\frac{a_{k+1,k}^{(k)}-\alpha}{2\beta},\ w_j=\frac{a_{jk}^{(k)}}{2\beta},\ j=k+2,\ldots,n, \] con \[ \alpha = -\mathrm{signo}(a_{k+1,k}^{(k)})\sqrt{\sum_{j=k+1}^n (a_{jk}^{(k)})^2},\ \beta =\sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}. \]

Método de Householder. Pseudocódigo

  • INPUT matriz del sistema \(\mathbf{A}=(a_{ij})_{i=1,\ldots,n,j=1,\ldots,n}\)
  • Set \(\mathbf{A}^{(1)}=\mathbf{A}\).
  • For \(k=1,2,\ldots,n-1\)
    • Set \(\displaystyle s=\sum_{j=k+1}^n (a_{jk}^{(k)})^2\).
    • If \(a_{k+1,k}^{(k)}=0\)
      • Set \(\alpha = -\sqrt{s}\).
    • Else
      • Set \(\alpha =-\frac{\sqrt{s}a_{k+1,k}^{(k)}}{|a_{k+1,k}^{(k)}|}\).

Método de Householder. Pseudocódigo

    • Set \(\beta = \sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}\).
    • Set \(\hat{w}_{1}=\frac{a_{k+1,k}^{(k)}-\alpha}{2\beta}\). (definimos el vector \(\hat{w}\))
    • For \(j=k+2,\ldots,n\)
      • Set \(\hat{w}_{j-k}=\frac{a_{jk}^{(k)}}{2\beta}\).
    • Set \(\hat{\mathbf{P}}=\mathbf{I}-2\hat{w}\hat{w}^\top\) (definimos la matriz \(\hat{\mathbf{P}}\))

Método de Householder. Pseudocódigo

    • Set \(\mathbf{P}^{(k)}=\mathbf{I}_n\) (definimos inicialmente la matriz \(\mathbf{P}^{(k)}\) como la matriz identidad)
    • For \(i=k+1,\ldots,n\)
      • For \(j=k+1,\ldots,n\)
        • Set \(p_{ij}^{(k)}=\hat{p}_{i-k,j-k}\).
    • Set \(\mathbf{A}^{(k+1)}=\mathbf{P}^{(k)}\mathbf{A}^{(k)}\mathbf{P}^{(k)}\) (definimos la matriz \(\mathbf{A}^{(k+1)}\))
  • Print \(\mathbf{A}^{(n-1)}\). (damos la matriz tridiagonal simétrica si la matriz original \(\mathbf{A}\) es simétrica o Hessenberg superior en caso contrario.)

Ejemplo matriz simétrica

Consideremos la matriz simétrica siguiente: \[ \mathbf{A}=\begin{bmatrix}2.8&2&2&2.4 \\2&2.8&1.6&2.6 \\2&1.6&1.6&1.8 \\2.4&2.6&1.8&1.6 \\\end{bmatrix}. \] Vamos a aplicar el método de Householder y transformarla en una matriz semejante tridiagonal simétrica, es decir, que tenga los mismos valores propios que la matriz original \(\mathbf{A}\).

  • Paso \(1\). Hacemos \(\mathbf{A}^{(1)}=\mathbf{A}\). Hallamos: \[ s=\sum_{j=2}^{4}(a_{jk}^{(1)})^2 =2^2+2^2+2.4^2 = 13.76. \] Los valores de \(\alpha\) y \(\beta\) son: \[ \begin{align*} \alpha & = -\mathrm{signo}(a_{21}^{(1)})\sqrt{s}=-\mathrm{signo}(2)\sqrt{13.76}=-1\sqrt{13.76}=-3.709447,\\ \beta & = \sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}=\sqrt{\frac{1}{2}\left((-3.7094474)^2-(-3.7094474)\cdot 2\right)}=3.254143. \end{align*} \]

Ejemplo matriz simétrica (continuación)

El vector \(\hat{w}\) será: \[ \begin{align*} \hat{w}_1 & =\frac{a_{21}^{(1)}-\alpha}{2\beta}=\frac{2-(-3.7094474)}{2\cdot 3.2541431}=0.8772582,\\ \hat{w}_2 & = \frac{a_{31}^{(1)}}{2\beta}=\frac{2}{2\cdot 3.2541431}=0.3073006,\\ \hat{w}_3 & = \frac{a_{41}^{(1)}}{2\beta}=\frac{2.4}{2\cdot 3.2541431}=0.3687607. \end{align*} \] La matriz \(\hat{P}\) será la siguiente: \[ \begin{align*} \hat{P} & =\mathbf{I}-2\hat{w}\hat{w}^\top = \begin{bmatrix}1&0&0 \\0&1&0 \\0&0&1 \\\end{bmatrix}-2\begin{bmatrix}0.877258 \\0.307301 \\0.368761 \\\end{bmatrix}(0.877258, 0.307301, 0.368761)\\ & =\begin{bmatrix}-0.539164&-0.539164&-0.646997 \\-0.539164&0.811133&-0.226641 \\-0.646997&-0.226641&0.728031 \\\end{bmatrix}. \end{align*} \]

Ejemplo matriz simétrica (continuación)

La matriz \(\mathbf{P}^{(1)}\) será la siguiente: \[ \mathbf{P}^{(1)}=\begin{bmatrix}1 &\mathbf{0}\\ \mathbf{0} & \hat{P}\end{bmatrix}=\begin{bmatrix}1&0&0&0 \\0&-0.539164&-0.539164&-0.646997 \\0&-0.539164&0.811133&-0.226641 \\0&-0.646997&-0.226641&0.728031 \\\end{bmatrix}. \] Por último, la matriz \(\mathbf{A}^{(2)}\) será: \[ \begin{align*} \mathbf{A}^{(2)} & =\mathbf{P}^{(1)}\mathbf{A}^{(1)}\mathbf{P}^{(1)}=\begin{bmatrix}1&0&0&0 \\0&-0.539164&-0.539164&-0.646997 \\0&-0.539164&0.811133&-0.226641 \\0&-0.646997&-0.226641&0.728031 \\\end{bmatrix}\begin{bmatrix}2.8&2&2&2.4 \\2&2.8&1.6&2.6 \\2&1.6&1.6&1.8 \\2.4&2.6&1.8&1.6 \\\end{bmatrix}\\ & \quad \begin{bmatrix}1&0&0&0 \\0&-0.539164&-0.539164&-0.646997 \\0&-0.539164&0.811133&-0.226641 \\0&-0.646997&-0.226641&0.728031 \\\end{bmatrix}=\begin{bmatrix}2.8&-3.709447&0&0 \\-3.709447&5.948837&0.614221&0.797452 \\0&0.614221&0.522983&0.290531 \\0&0.797452&0.290531&-0.471821 \\\end{bmatrix}. \end{align*} \]

Ejemplo matriz simétrica (continuación)

  • Paso \(2\). Hallamos: \[ s=\sum_{j=3}^{4}(a_{jk}^{(2)})^2 =0.614221^2+0.797452^2 = 1.0131963. \] Los valores de \(\alpha\) y \(\beta\) son: \[ \begin{align*} \alpha & = -\mathrm{signo}(a_{32}^{(2)})\sqrt{s}=-\mathrm{signo}(0.614221)\sqrt{1.0131963}=-1\sqrt{1.0131963}=-1.006577,\\ \beta & = \sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}=\sqrt{\frac{1}{2}\left((-1.0065765)^2-(-1.0065765)\cdot 0.614221\right)}=0.903177. \end{align*} \] El vector \(\hat{w}\) será: \[ \begin{align*} \hat{w}_1 & =\frac{a_{32}^{(2)}-\alpha}{2\beta}=\frac{0.614221-(-1.0065765)}{2\cdot 0.9031768}=0.8972759,\\ \hat{w}_2 & = \frac{a_{42}^{(2)}}{2\beta}=\frac{0.7974515}{2\cdot 0.9031768}=0.4414703. \end{align*} \]

Ejemplo matriz simétrica (continuación)

La matriz \(\hat{P}\) será la siguiente: \[ \hat{P} =\mathbf{I}-2\hat{w}\hat{w}^\top = \begin{bmatrix}1&0 \\0&1 \\\end{bmatrix}-2\begin{bmatrix}0.897276 \\0.44147 \\\end{bmatrix}(0.897276, 0.44147) =\begin{bmatrix}-0.610208&-0.792241 \\-0.792241&0.610208 \\\end{bmatrix}. \] La matriz \(\mathbf{P}^{(2)}\) será la siguiente: \[ \mathbf{P}^{(2)}=\begin{bmatrix}1 & 0 & \mathbf{0}\\ 0 & 1 & \mathbf{0} \\ \mathbf{0}& \mathbf{0} & \hat{P}\end{bmatrix}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.610208&-0.792241 \\0&0&-0.792241&0.610208 \\\end{bmatrix}. \]

Ejemplo matriz simétrica (continuación)

Por último, la matriz \(\mathbf{A}^{(3)}\) será: \[ \begin{align*} \mathbf{A}^{(3)} & =\mathbf{P}^{(2)}\mathbf{A}^{(2)}\mathbf{P}^{(2)}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.610208&-0.792241 \\0&0&-0.792241&0.610208 \\\end{bmatrix}\begin{bmatrix}2.8&-3.709447&0&0 \\-3.709447&5.948837&0.614221&0.797452 \\0&0.614221&0.522983&0.290531 \\0&0.797452&0.290531&-0.471821 \\\end{bmatrix}\\ & \quad \begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.610208&-0.792241 \\0&0&-0.792241&0.610208 \\\end{bmatrix}=\begin{bmatrix}2.8&-3.709447&0&0 \\-3.709447&5.948837&-1.006577&0 \\0&-1.006577&0.179503&0.55509 \\0&0&0.55509&-0.12834 \\\end{bmatrix}. \end{align*} \] Dicha matriz ya es tridiagonal simétrica. Por tanto, hemos acabado.

Los valores propios de la matriz tridiagonal simétrica son los mismos que los valores propios de la matriz original.

Usando el método explicado anteriormente, podemos hallar una sucesión de matrices \(\mathbf{A}^{(n)}\) todas semejantes a la matriz original \(\mathbf{A}\) y que tienden a una matriz diagonal cuya diagonal serían los valores propios de la matriz \(\mathbf{A}\).

Ejemplo matriz simétrica (continuación)

La matriz \(\mathbf{A}^{(10)}\) de la sucesión anterior vale: \[ \mathbf{A}^{(10)}=\begin{bmatrix}8.489693938&-0.000000016&0&0 \\-0.000000016&0.912763607&-0.093343714&0 \\0&-0.093343714&-0.709307065&-0.000000029 \\0&0&-0.000000029&0.106849519 \\\end{bmatrix}. \] Una aproximación de los valores propios de la matriz \(\mathbf{A}\) serían los valores diagonales de la matriz anterior: \[ 8.4896939, 0.9127636, -0.7093071, 0.1068495. \]

Ejemplo matriz general

Consideremos la matriz general siguiente: \[ \mathbf{A}=\begin{bmatrix}5&4&7&6 \\4&6&7&7 \\4&6&6&5 \\4&7&5&6 \\\end{bmatrix}. \] Vamos a aplicar el método de Householder y transformarla en una matriz Hessenberg superior que tenga los mismos valores propios que la matriz original \(\mathbf{A}\).

  • Paso \(1\). Hacemos \(\mathbf{A}^{(1)}=\mathbf{A}\). Hallamos: \[ s=\sum_{j=2}^{4}(a_{jk}^{(1)})^2 =4^2+4^2+4^2 = 48. \] Los valores de \(\alpha\) y \(\beta\) son: \[ \begin{align*} \alpha & = -\mathrm{signo}(a_{21}^{(1)})\sqrt{s}=-\mathrm{signo}(4)\sqrt{48}=-1\sqrt{48}=-6.928203,\\ \beta & = \sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}=\sqrt{\frac{1}{2}\left((-6.9282032)^2-(-6.9282032)\cdot 4\right)}=6.152756. \end{align*} \]

Ejemplo matriz general (continuación)

El vector \(\hat{\mathbf{w}}\) será: \[ \begin{align*} \hat{w}_1 & =\frac{a_{21}^{(1)}-\alpha}{2\beta}=\frac{4-(-6.9282032)}{2\cdot 6.152756}=0.8880738,\\ \hat{w}_2 & = \frac{a_{31}^{(1)}}{2\beta}=\frac{4}{2\cdot 6.152756}=0.3250576,\\ \hat{w}_3 & = \frac{a_{41}^{(1)}}{2\beta}=\frac{4}{2\cdot 6.152756}=0.3250576. \end{align*} \] La matriz \(\hat{\mathbf{P}}\) será la siguiente: \[ \begin{align*} \hat{\mathbf{P}} & =\mathbf{I}-2\hat{\mathbf{w}}\hat{\mathbf{w}}^\top = \begin{bmatrix}1&0&0 \\0&1&0 \\0&0&1 \\\end{bmatrix}-2\begin{bmatrix}0.888074 \\0.325058 \\0.325058 \\\end{bmatrix}(0.888074, 0.325058, 0.325058)\\ & =\begin{bmatrix}-0.57735&-0.57735&-0.57735 \\-0.57735&0.788675&-0.211325 \\-0.57735&-0.211325&0.788675 \\\end{bmatrix}. \end{align*} \]

Ejemplo matriz general (continuación)

La matriz \(\mathbf{P}^{(1)}\) será la siguiente: \[ \mathbf{P}^{(1)}=\begin{bmatrix}1 &\mathbf{0}\\ \mathbf{0} & \hat{\mathbf{P}}\end{bmatrix}=\begin{bmatrix}1&0&0&0 \\0&-0.57735&-0.57735&-0.57735 \\0&-0.57735&0.788675&-0.211325 \\0&-0.57735&-0.211325&0.788675 \\\end{bmatrix}. \] Por último, la matriz \(\mathbf{A}^{(2)}\) será: \[ \begin{align*} \mathbf{A}^{(2)} & =\mathbf{P}^{(1)}\mathbf{A}^{(1)}\mathbf{P}^{(1)}=\begin{bmatrix}1&0&0&0 \\0&-0.57735&-0.57735&-0.57735 \\0&-0.57735&0.788675&-0.211325 \\0&-0.57735&-0.211325&0.788675 \\\end{bmatrix}\begin{bmatrix}5&4&7&6 \\4&6&7&7 \\4&6&6&5 \\4&7&5&6 \\\end{bmatrix}\\ & \quad \begin{bmatrix}1&0&0&0 \\0&-0.57735&-0.57735&-0.57735 \\0&-0.57735&0.788675&-0.211325 \\0&-0.57735&-0.211325&0.788675 \\\end{bmatrix}=\begin{bmatrix}5&-9.814955&1.943376&0.943376 \\-6.928203&18.333333&0.333333&0.333333 \\0&1.122008&0.122008&-0.877992 \\0&0.544658&-1.455342&-0.455342 \\\end{bmatrix}. \end{align*} \]

Ejemplo matriz general (continuación)

  • Paso \(2\). Hallamos: \[ s=\sum_{j=3}^{4}(a_{jk}^{(2)})^2 =1.122008^2+0.544658^2 = 1.5555556. \] Los valores de \(\alpha\) y \(\beta\) son: \[ \begin{align*} \alpha & = -\mathrm{signo}(a_{32}^{(2)})\sqrt{s}=-\mathrm{signo}(1.1220085)\sqrt{1.5555556}=-1\sqrt{1.5555556}=-1.247219,\\ \beta & = \sqrt{\frac{1}{2}\left(\alpha^2-\alpha a_{k+1,k}^{(k)}\right)}=\sqrt{\frac{1}{2}\left((-1.2472191)^2-(-1.2472191)\cdot 1.1220085\right)}=1.215513. \end{align*} \] El vector \(\hat{w}\) será: \[ \begin{align*} \hat{w}_1 & =\frac{a_{32}^{(2)}-\alpha}{2\beta}=\frac{1.122008-(-1.2472191)}{2\cdot 1.2155135}=0.9745789,\\ \hat{w}_2 & = \frac{a_{42}^{(2)}}{2\beta}=\frac{0.5446582}{2\cdot 1.2155135}=0.2240445. \end{align*} \]

Ejemplo matriz general (continuación)

La matriz \(\hat{\mathbf{P}}\) será la siguiente: \[ \hat{\mathbf{P}} =\mathbf{I}-2\hat{\mathbf{w}}\hat{\mathbf{w}}^\top = \begin{bmatrix}1&0 \\0&1 \\\end{bmatrix}-2\begin{bmatrix}0.974579 \\0.224044 \\\end{bmatrix}(0.974579, 0.224044) =\begin{bmatrix}-0.899608&-0.436698 \\-0.436698&0.899608 \\\end{bmatrix}. \] La matriz \(\mathbf{P}^{(2)}\) será la siguiente: \[ \mathbf{P}^{(2)}=\begin{bmatrix}1 & 0 & \mathbf{0}\\ 0 & 1 & \mathbf{0} \\ \mathbf{0}& \mathbf{0} & \hat{\mathbf{P}}\end{bmatrix}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.899608&-0.436698 \\0&0&-0.436698&0.899608 \\\end{bmatrix}. \]

Ejemplo matriz general (continuación)

Por último, la matriz \(\mathbf{A}^{(3)}\) será: \[ \begin{align*} \mathbf{A}^{(3)} & =\mathbf{P}^{(2)}\mathbf{A}^{(2)}\mathbf{P}^{(2)}=\begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.899608&-0.436698 \\0&0&-0.436698&0.899608 \\\end{bmatrix}\begin{bmatrix}5&-9.814955&1.943376&0.943376 \\-6.928203&18.333333&0.333333&0.333333 \\0&1.122008&0.122008&-0.877992 \\0&0.544658&-1.455342&-0.455342 \\\end{bmatrix}\\ & \quad \begin{bmatrix}1&0&0&0 \\0&1&0&0 \\0&0&-0.899608&-0.436698 \\0&0&-0.436698&0.899608 \\\end{bmatrix}=\begin{bmatrix}5&-9.814955&-2.160247&0 \\-6.928203&18.333333&-0.445435&0.154303 \\0&-1.247219&-0.904762&0.659829 \\0&0&1.237179&0.571429 \\\end{bmatrix}. \end{align*} \] Dicha matriz ya es Hessenberg superior. Por tanto, hemos acabado.

Los valores propios de la matriz Hessenberg superior son los mismos que los valores propios de la matriz original.

Usando el método explicado anteriormente, podemos hallar una sucesión de matrices \(\mathbf{A}^{(n)}\) todas semejantes a la matriz original \(\mathbf{A}\) y que tienden a una matriz triangular superior cuya diagonal serían los valores propios de la matriz \(\mathbf{A}\).

Ejemplo matriz general (continuación)

La matriz \(\mathbf{A}^{(25)}\) de la sucesión anterior vale: \[ \mathbf{A}^{(25)}=\begin{bmatrix}22.251721846&-2.54449397&-1.465499849&-1.550700625 \\0&0.983158946&-2.384977396&-0.322344717 \\0&-0.69214498&-1.002083998&0.060004153 \\0&0&0.000000022&0.767203206 \\\end{bmatrix}. \] Una aproximación de los valores propios de la matriz \(\mathbf{A}\) serían los valores diagonales de la matriz anterior: \[ 22.2517218, 0.9831589, -1.002084, 0.7672032. \]

La convergencia del método es bastante lenta en este caso pero existen métodos para acelerarla.