2 votos

Cómo resolver $Ax = \lambda x + b$ ¿eficientemente?

Dejemos que $A$ sea una matriz real simétrica invertible y $b$ un vector real distinto de cero. Consideremos el problema de encontrar un número real distinto de cero $\lambda$ y un vector de valor real $x$ tal que $$Ax=\lambda x + b.$$

¿Cómo puedo resolver numérica y eficazmente este problema?

6voto

rschwieb Puntos 60669

Si $\lambda$ no es un valor propio, entonces $A-\lambda I$ es invertible, por lo que se puede resolver el sistema $(A-\lambda I)x=b$ encontrando la inversa de $A-\lambda I$ .

Si $\lambda$ es un valor propio, entonces el sistema puede no tener soluciones. Consideremos

$A=\begin{pmatrix} 1 &0\\ 1 & 1 \end{pmatrix}$ y $\lambda=1$ y $b=\begin{pmatrix} 1\\ 0 \end{pmatrix}$ . El sistema $(A-I)x=b$ es imposible de resolver ya que $b$ no está en el espacio de columnas de $(A-I)=\begin{pmatrix} 0 &0\\ 1 & 0 \end{pmatrix}$ .

3voto

DonAntonio Puntos 104482

¿Y si miramos el sistema lineal $$(A-\lambda I)x=b\,\,?$$ Puedes resolver esto numéricamente reduciendo la matriz LHS, ya que si esto es lo que creo que es, $\,\lambda\,$ es un valor propio de $\,A\,$ y, por tanto, el sistema puede no tener una solución única (o incluso no tenerla), a menos que $\,b=0\,$ por lo que utilizar la inversa de la matriz de coeficientes no sería una opción en este caso. Si $\,\lambda\,$ es no un valor eigno de A entonces puede ser que se pueda utilizar la matriz inversa.

0voto

Demasiado largo para un comentario.

Este no es el algoritmo más estable numéricamente, pero creo que se puede encontrar $\lambda$ utilizando el polinomio característico de $A.$

Para su problema, está buscando $(A - \lambda I)$ siendo invertible. Sea el polinomio característico de $A$ sea $f(y) = {\rm det}(A - yI) \in \mathbb{R}[y].$ El polinomio característico de $(A - \lambda I)$ es entonces $$g(x) = {\rm det}((A - \lambda I) - xI) = {\rm det}(A - (\lambda+x) I) = f(\lambda + x).$$ La matriz $(A - \lambda I)$ es invertible si el coeficiente constante de $g(x)$ es distinto de cero.

Así que

  1. Encuentre $f(y),$ el polinomio característico de $A$ .

  2. Sustituir $y \mapsto \lambda + x$ en $f(y)$ para conseguir $g(x).$

  3. Ampliar $g(x) = g_0(\lambda) + g_1(\lambda) x + \ldots + x^d.$

  4. Dejemos que $\Lambda \subset R$ sea el conjunto de todas las soluciones de $g_0(\lambda) = 0.$ Los valores de $\lambda$ para lo cual $(A - \lambda I)$ es invertible son $\mathbb{R} - \Lambda.$

0voto

bubba Puntos 16773

A menos que tengas mala suerte, y $\lambda$ es un valor propio, esto es sólo la resolución directa de un sistema de ecuaciones lineales. Hay un montón de buen software para hacer esto de manera eficiente. Matlab puede hacerlo, y hay software en el libro "Numerical Recipes", o en otros lugares. No intentes escribir el código tú mismo, y no intentes encontrar la inversa de la matriz.

Si te interesa encontrar los valores propios, también hay muchos programas buenos para ello. De nuevo, "Numerical Recipes" es un buen lugar para empezar. De nuevo, no intentes escribir el software tú mismo. Tampoco intentes encontrar las raíces del polinomio característico, eso es mucho más difícil que calcular los valores propios.

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