No puedo imaginar que soy el primero en pensar en el siguiente problema, así que estaré satisfecho con una referencia (pero siempre se agradece una respuesta completa y detallada):
Supongamos que tiene un positivo definido simétrico . Se considera que es muy grande, por lo que mantener en la memoria es imposible. Sin embargo, puede evaluar , para cualquier . Dado algunos , te gustaría encontrar .
La primera solución que viene a la mente es encontrar usando (digamos) gradientes conjugados. Sin embargo, esto parece algo inútil: busca un escalar y en el proceso encuentra un vector gigantesco en . Parece tener más sentido idear un método para calcular el escalar directamente (es decir, sin pasar por ). Estoy buscando este tipo de método.
Respuestas:
No creo haber oído hablar de ningún método que haga lo que quieres sin resolver realmente .y= Σ- 1X
La única alternativa que puedo ofrecer es si supieras algo sobre los vectores propios y los valores de . Digamos que sabía que son λ i , v i , entonces puede representar Σ = V T L V donde las columnas de V son v i , y L es una matriz diagonal con los valores propios en la diagonal. En consecuencia, tienes que Σ - 1 = V T L - 1 V y obtienes que x T Σ - 1 x =Σ λyo, vyo Σ = VTL V V vyo L Σ- 1= VTL- 1V
Por supuesto, esto requeriría que almacenetodos losvalores propios, es decir, una matriz V completa. Pero, si sabe que solo algunos de los valores propios de Σ son pequeños, diga la primera m , y el resto es tan grande que puede descuidar todos los términos con λ - 1 i para i > m , entonces puede aproximar
Por supuesto, en la práctica a menudo es igual o más difícil calcular los valores propios y los vectores propios, en comparación con simplemente resolver varias veces.y= Σ- 1X
fuente