5 votos

Cálculo numérico de los valores propios de una gran matriz real tridiagonal simétrica

Si tengo un $N \times N$ en la que todas las entradas son cero, excepto en la superdiagonal y la subdiagonal, en las que cada entrada es la conjugada de la última, como la siguiente $5 \times 5$ matriz

$$\begin{bmatrix}0 & (1-t) & 0 & 0 & 0 \\(1-t) & 0 & (1+t) & 0 & 0 \\0 & (1+t) & 0 & (1-t) & 0 \\0 & 0 & (1-t) & 0 & (1+t)\\0 & 0 & 0 & (1+t) & 0 \end{bmatrix}$$

donde $t$ es algún parámetro. Imagina una matriz mucho más grande siguiendo el mismo patrón.

¿Hay alguna forma, numérica o no, de encontrar los valores propios?

1 votos

Si $N$ es impar, el problema puede resolverse explícitamente; si es par, hay que recurrir a aproximaciones. Lamentablemente, mis referencias de antemano para esto son de la literatura física y por lo tanto no son necesariamente transparentes. (Tuve que hacer muchos cálculos analíticos/aproximaciones en el caso de $N$ incluso, así que tengo cierta familiaridad).

1 votos

Es $|t| \ll 1$ ? ¿Puede considerarse la matriz como una perturbación de una matriz Toeplitz tridiagonal?

1 votos

He corregido una errata en mi respuesta. El coste del algoritmo QR es $O(n)$ pr. iteración. Normalmente se necesita $2-3$ iteraciones por valor propio. Así que si los quieres todos, entonces el coste es $O(n^2)$ .

1voto

je44ery Puntos 395

En general, el problema de valores propios simétricos se resuelve reduciendo la matriz a la forma tridiagonal y aplicando después el algoritmo QR con desplazamientos implícitos.

Sólo la última etapa es relevante aquí y el tiempo de ejecución es $O(n^2)$ ya que sólo quieres los valores propios. Recomiendo empezar con las rutinas implementadas en LAPACK. Una breve lista de rutinas relevantes se da aquí

http://www.netlib.org/lapack/lug/node48.html

No veo la manera de explotar la subestructura tan especial de su matriz tridiagonal en los cálculos numéricos.

0 votos

¿Cuál es el tiempo de ejecución para encontrar también los vectores propios?

0 votos

@Craig: Primero hay que encontrar los vectores propios de la matriz tridiagonal. Tienes que resolver $n$ sistemas lineales triangulares para hacerlo. Esto cuesta $O(n^2)$ operaciones. Luego hay que retrotransformar estos vectores propios para obtener los vectores propios de la matriz original. Eso cuesta $O(n^3)$ operaciones.

0 votos

¿Qué matriz original? La única matriz con la que trabajo es la tridiagonal

1voto

Esto no es una solución completa, pero puede darle algunas pistas:

La traza de esta matriz es cero, por lo que la suma de los valores propios debe ser cero. De hecho para cada potencia impar de la matriz la traza es cero. Si se multiplica la matriz por sí misma la traza de la nueva matriz ya no es cero, por lo que la suma de valores propios de la matriz al cuadrado no es cero. De hecho, de nuevo, cada potencia par tiene traza no nula, lo que me lleva a pensar que los valores propios estarán formados por pares no nulos $\lambda, -\lambda$ y $0$ (quizás valores repetidos de $0$ para la matriz de orden par, no estoy seguro).

Así que, de hecho, para el $5 \times 5$ matriz que tienes ahí, si solo uso Mathematica para obtener los valores propios: $\left\{0,-\sqrt{t^2+3},\sqrt{t^2+3},-\sqrt{3 t^2+1},\sqrt{3 t^2+1}\right\}$ . Tal vez si pruebas con diferentes órdenes de matrices podrás desarrollar alguna fórmula en términos de $n$ , donde $n$ es el orden de la matriz.

0 votos

Hola Christiaan, me pregunto si puedo tomar prestada tu experiencia; tal vez puedas ver algo que yo no veo. Así que para la matriz, aquí están algunos hechos que ahora sé: si N es par que tendrá valores propios simétricos es decir: si es un valor propio, por lo que es -, y nunca será 0. Para impar N, siempre habrá un valor propio 0, y luego los valores propios simétricos de nuevo. Además, si se llena la matriz con 1+t o 1-t, se obtienen los mismos valores si N es impar. Sin embargo, si N es par, al invertir el orden de llenado se obtienen valores muy diferentes. ¿Hay alguna relación entre los valores propios en el caso par? Gracias.

1 votos

Bueno, mi siguiente paso sería mirar cómo el polinomio característico se desarrolla como $n$ aumenta. De nuevo, sólo un vistazo rápido usando Mathematica, para $n=4$ utilizando el mismo orden que tienes en la pregunta: $z^4+((2-3 t) t-3) z^2+(t-1)^4$ , entonces para $n=6$ : $z^6+((2-5 t) t-5) z^4+2 (t (t (t (3 t-4)+10)-4)+3) z^2-(t-1)^6$ . Ahora tal vez numéricamente se pueden explotar algunas propiedades del parámetro $t$ es decir, si es menor que 1, el término constante se aproxima a cero como $n$ aumenta... esto es en el orden actual. Si se invierte el orden el término constante es una potencia de $(1+t)$ para que el término no desaparezca.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X