En mis cursos sobre análisis numérico, me enseñaron que la principal y principal motivación para preacondicionar sistemas lineales de ecuaciones es aumentar la tasa de convergencia de los solucionadores iterativos para ese LSE.
Pero, ¿hay algún efecto en la precisión de la solución calculada?
Puedo recordar un resultado sobre la precisión de la solución computarizada de eliminación gaussiana, que se puede encontrar en Matrix Computations de Golub y Van Loan (p. 122). El número de condición (con respecto a alguna norma particular) de hecho afecta la precisión de la solución numérica calculada por ese algoritmo.
Uno podría esperar que algo similar se mantenga para las soluciones obtenidas, por ejemplo, de Conjugate Gradients. Creo que he observado esto en un experimento computacional. Cuando hice que el método de gradiente Conjugate se ejecutara en un sistema no acondicionado por un tiempo (largo) hasta que se cumpliera algún criterio de detención, la solución calculada aún mostraba un alto residual. Entonces, me pregunto si los números de condición más bajos no solo conducen a tiempos de ejecución más bajos, sino también a un residual (o error) más bajo en la solución calculada. Tenga en cuenta que esto es necesariamente una cuestión de estabilidad numérica, que requiere que trabajemos en aritmética precisa.
(He hecho la misma pregunta sobre matemáticas. SE, pero creo que este sitio podría ser más apropiado).
fuente
Respuestas:
La precisión de la eliminación gaussiana no está limitada en términos de número de condición. Hay un ejemplo de una matriz bien condicionada en Trefethen y Bau (y probablemente en otros lugares) para la cual la eliminación gaussiana es exponencialmente inestable con respecto al tamaño de la matriz.
De todos modos, el preacondicionamiento hace dos cosas:
Depende de usted si desea que el error sea pequeño o que el residual sea pequeño.
fuente