¿Cuál es la mejor manera de calcular a mano los valores propios de una matriz simétrica real?

Si está trabajando con, por ejemplo, una [matemática] 3 [/ matemática] x [matemática] 3 [/ matemática] matriz simétrica real [matemática] A [/ matemática], entonces probablemente recomendaría encontrar explícitamente las raíces del polinomio característico de su matriz [math] A [/ math] computando explícitamente [math] \ operatorname {det} (xI – A) [/ math] y luego factorizando el resultado. De lo contrario, si está trabajando con una matriz simétrica real con dimensiones mayores que una matriz [matemática] 3 [/ matemática] x [matemática] 3 [/ matemática], entonces probablemente no sugeriría usar este método para calcular sus valores propios a mano. Según mi conocimiento actual, siento que tendría que hacer suposiciones adicionales sobre la matriz simétrica real con la que está trabajando para sugerir mejores métodos para calcular sus valores propios a mano.

Suponiendo que su matriz simétrica real es una matriz de adyacencia de un gráfico simple, entonces puedo sugerir hechos útiles adicionales que a veces pueden conducir a formas eficientes de calcular sus valores propios a mano en algunos casos. En primer lugar, si la matriz con la que está trabajando es la matriz de adyacencia de un gráfico simple en [matemáticas] n [/ matemáticas] con diámetro [matemáticas] d [/ matemáticas], entonces debe tener al menos [matemáticas] d + 1 [/ math] valores propios distintos y no más de [math] n [/ math] valores propios distintos. En segundo lugar, si su matriz simétrica real [matemática] A [/ matemática] es una matriz de adyacencia de un gráfico bipartito simple, entonces para cualquier valor propio [matemática] \ lambda [/ matemática] de [matemática] A [/ matemática], [matemática ] – \ lambda [/ math] también debe ser un valor propio de [math] A [/ math]. En tercer lugar, si su matriz simétrica real [matemática] A [/ matemática] es una matriz de adyacencia de un gráfico regular con valencia [matemática] k [/ matemática], entonces debe tener [matemática] k [/ matemática] como un valor propio ( con multiplicidad 1). En cuarto lugar, si su matriz simétrica real es la matriz de adyacencia de un gráfico simple, y puede reconocer cómo una factorización de este gráfico con respecto al producto cartesiano de gráficos simples, entonces los valores propios de dicho gráfico deben ser todas las sumas únicas posibles de tuplas de valores propios de las matrices de adyacencia de sus factores wrt el producto cartesiano. Por último, me gustaría señalar que si está trabajando con una matriz simétrica real que es la matriz de adyacencia de lo que se conoce como gráfico de distancia regular, entonces el número de valores propios distintos de esta matriz será igual a exactamente uno más que el diámetro del gráfico (no solo un límite como antes); en particular, en el caso especial de lo que se conoce como gráficos fuertemente regulares (gráficos de distancia regular con diámetro dos), las matrices de adyacencia de dichos gráficos tendrán exactamente tres valores propios, y pueden calcularse muy rápidamente en términos de los parámetros de dicho Los gráficos tienen su fuerte regularidad. Creo que los hechos que he proporcionado aquí al menos ayudan a formar un juego de herramientas útil que a veces puede ayudar a reducir la cantidad de trabajo necesario para calcular los valores propios de matrices simétricas reales que son matrices de adyacencia de gráficos simples.

Sin embargo, creo que es bastante difícil calcular rápidamente los valores propios de una matriz simétrica real arbitraria en general.

Si está interesado en el valor propio más pequeño o más grande o más cercano al valor dado, una solución factible puede ser utilizar el método de potencia inversa, el método de potencia o el método de potencia desplazada.

El cociente de Rayleigh converge rápidamente con el valor propio tan pronto como tenga una buena estimación (resolución múltiple, cuadrícula reducida, wavelet reducida ) para el vector o valor propio que está tratando de averiguar.

El cálculo de los valores propios proviene de la descomposición propia que [math] \ mathcal {O} (N ^ {3}) [/ math] opera, sin embargo, es simétrica, por lo que esto se puede hacer con el SVD, que en realidad es si solo desea los valores propios son más fáciles. Cuando calculas el SVD, los obtienes y esto reducirá la complejidad del tiempo. Para [matemáticas] A = U \ Sigma V ^ {T} [/ matemáticas] las matrices [matemáticas] U, V [/ matemáticas] son ​​las matrices de los vectores propios [matemáticas] [/ matemáticas] los valores singulares son valores propios son los lo mismo para las matrices simétricas positivas definidas que la SVD.

Tenga en cuenta aquí [matemáticas] Ax = \ lambda x [/ matemáticas]

[matemáticas] Av = \ sigma u [/ matemáticas]

[matemáticas] A ^ {T} u = \ sigma v [/ matemáticas]

entonces no necesitamos [matemáticas] U, V [/ matemáticas] y la complejidad del tiempo es [matemáticas] \ matemáticas {O} (mn ^ {2}) [/ matemáticas]

No calcularía esto a mano, pero cuando calcula esto, hay una manera de especificar que no los quiere.

¿Por qué querrías calcularlos a mano? Si su matriz [matemática] A [/ matemática] no es pequeña, como [matemática] 5 \ veces 5 [/ matemática] o más grande, entonces le llevará mucho tiempo hacerlo a mano. Si es [matemáticas] 2 \ veces 2 [/ matemáticas], [matemáticas] 3 \ veces 3 [/ matemáticas] o tal vez [matemáticas] 4 \ veces 4 [/ matemáticas], creo que la mejor manera de hacerlo a mano sería simplemente resolver

[matemáticas] | xI-A | = 0. [/ matemáticas]

Sin embargo, es mucho mejor usar algún tipo de software para resolverlos.