Articulo de referencia

Preacondicionador

En matemáticas , el preacondicionamiento consiste en la aplicación de una transformación, denominada preacondicionador , que adapta un problema dado a una forma más adecuada par...

En matemáticas , el preacondicionamiento consiste en la aplicación de una transformación, denominada preacondicionador , que adapta un problema dado a una forma más adecuada para la resolución numérica . El preacondicionamiento suele estar relacionado con la reducción del número de condición del problema. El problema preacondicionado se resuelve posteriormente mediante un método iterativo .

Preacondicionamiento para sistemas lineales

En álgebra lineal y análisis numérico , un precondicionadorPAG{\displaystyle P}de una matrizA{\displaystyle A}es una matriz tal quePAG1A{\displaystyle P^{-1}A}tiene un número de condición menor queA{\displaystyle A}También es común llamarT=PAG1{\displaystyle T=P^{-1}}el preacondicionador, en lugar dePAG{\displaystyle P}, desdePAG{\displaystyle P}En sí mismo rara vez está disponible explícitamente. En el preacondicionamiento moderno, la aplicación de T=PAG1{\displaystyle T=P^{-1}}, es decir, la multiplicación de un vector columna, o un bloque de vectores columna, porT=PAG1{\displaystyle T=P^{-1}}, se realiza comúnmente de forma no matricial , es decir, donde niPAG{\displaystyle P}, ni T=PAG1{\displaystyle T=P^{-1}}(y a menudo ni siquieraA{\displaystyle A}) están disponibles explícitamente en forma de matriz.

Los precondicionadores son útiles en métodos iterativos para resolver un sistema lineal. Aincógnita=b{\displaystyle Ax=b}paraincógnita{\displaystyle x}Dado que la tasa de convergencia para la mayoría de los solucionadores lineales iterativos aumenta porque el número de condición de una matriz disminuye como resultado del preacondicionamiento. Los solucionadores iterativos preacondicionados suelen superar a los solucionadores directos, por ejemplo, la eliminación gaussiana , para matrices grandes, especialmente para matrices dispersas . Los solucionadores iterativos pueden utilizarse como métodos sin matriz , es decir, se convierten en la única opción si la matriz de coeficientesA{\displaystyle A}No se almacena explícitamente, sino que se accede a él evaluando productos matriz-vector.

Descripción

En lugar de resolver el sistema lineal originalAincógnita=b{\displaystyle Ax=b}paraincógnita{\displaystyle x}, uno puede considerar el sistema preacondicionado adecuadoAPAG1(PAGincógnita)=b{\displaystyle AP^{-1}(Px)=b} y resolver APAG1y=b{\displaystyle AP^{-1}y=b} paray{\displaystyle y}y PAGincógnita=y{\displaystyle Px=y} paraincógnita{\displaystyle x}.

Alternativamente, se puede resolver el sistema precondicionado de la izquierda.PAG1(Aincógnitab)=0.{\displaystyle P^{-1}(Ax-b)=0.}

Ambos sistemas dan la misma solución que el sistema original siempre que la matriz de preacondicionamiento seaPAG{\displaystyle P}es no singular . El preacondicionamiento izquierdo es más tradicional.

El sistema preacondicionado de doble caraQAPAG1(PAGincógnita)=Qb{\displaystyle QAP^{-1}(Px)=Qb} puede ser beneficioso, por ejemplo, para preservar la simetría de la matriz: si la matriz originalA{\displaystyle A}es real simétrico y precondicionadores realesQ{\displaystyle Q}yPAG{\displaystyle P}satisfacer QT=PAG1{\displaystyle Q^{T}=P^{-1}}luego la matriz precondicionadaQAPAG1{\displaystyle QAP^{-1}}También es simétrico. El preacondicionamiento bilateral es común para el escalado diagonal donde los preacondicionadoresQ{\displaystyle Q}yPAG{\displaystyle P}son diagonales y el escalado se aplica tanto a las columnas como a las filas de la matriz original.A{\displaystyle A}, por ejemplo, para disminuir el rango dinámico de las entradas de la matriz.

El objetivo del preacondicionamiento es reducir el número de condición , por ejemplo, de la matriz del sistema preacondicionado izquierdo o derecho.PAG1A{\displaystyle P^{-1}A}oAPAG1{\displaystyle AP^{-1}}Los números de condición pequeños favorecen la convergencia rápida de los solucionadores iterativos y mejoran la estabilidad de la solución con respecto a las perturbaciones en la matriz del sistema y el lado derecho, por ejemplo, permitiendo una cuantización más agresiva de las entradas de la matriz utilizando una precisión de computadora menor .

La matriz preacondicionadaPAG1A{\displaystyle P^{-1}A}oAPAG1{\displaystyle AP^{-1}}Rara vez se forma explícitamente. Solo la acción de aplicar el precondicionador resuelve la operación. PAG1{\displaystyle P^{-1}}Puede que sea necesario calcularlo para un vector dado.

Por lo general, existe una compensación en la elección dePAG{\displaystyle P}Dado que el operadorPAG1{\displaystyle P^{-1}}debe aplicarse en cada paso del solucionador lineal iterativo, debe tener un pequeño costo (tiempo de cálculo) de aplicación. PAG1{\displaystyle P^{-1}}operación. Por lo tanto, el preacondicionador más barato seríaPAG=I{\displaystyle P=I}Desde entoncesPAG1=I.{\displaystyle P^{-1}=I.}Claramente, esto da como resultado el sistema lineal original y el precondicionador no hace nada. En el otro extremo, la elección PAG=A{\displaystyle P=A}daPAG1A=APAG1=I,{\displaystyle P^{-1}A=AP^{-1}=I,}que tiene un número de condición óptimo de 1, que requiere una sola iteración para la convergencia; sin embargo, en este casoPAG1=A1,{\displaystyle P^{-1}=A^{-1},}y aplicar el preacondicionador es tan difícil como resolver el sistema original. Por lo tanto, se elige PAG{\displaystyle P} como en algún punto intermedio entre estos dos extremos, en un intento de lograr un número mínimo de iteraciones lineales manteniendo el operador PAG1{\displaystyle P^{-1}} lo más sencillo posible. A continuación se detallan algunos ejemplos de enfoques típicos de preacondicionamiento.

Métodos iterativos precondicionados

Métodos iterativos precondicionados paraAincógnitab=0{\displaystyle Ax-b=0}son, en la mayoría de los casos, matemáticamente equivalentes a los métodos iterativos estándar aplicados al sistema precondicionado.PAG1(Aincógnitab)=0.{\displaystyle P^{-1}(Ax-b)=0.}Por ejemplo, la iteración estándar de Richardson para resolverAincógnitab=0{\displaystyle Ax-b=0}es incógnitanorte+1=incógnitanorteγnorte(Aincógnitanorteb), norte0.{\displaystyle \mathbf {x} _ {n+1}=\mathbf {x} _ {n}-\gamma _ {n}(A\mathbf {x} _ {n}-\mathbf {b} ),\ n\geq 0.}

Aplicado al sistema preacondicionadoPAG1(Aincógnitab)=0,{\displaystyle P^{-1}(Ax-b)=0,}se convierte en un método precondicionado incógnitanorte+1=incógnitanorteγnortePAG1(Aincógnitanorteb), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\mathbf {b} ),\ n\geq 0.}

Ejemplos de métodos iterativos precondicionados populares para sistemas lineales incluyen el método del gradiente conjugado precondicionado , el método del gradiente biconjugado y el método generalizado de residuos mínimos . Los métodos iterativos, que utilizan productos escalares para calcular los parámetros iterativos, requieren cambios correspondientes en el producto escalar junto con la sustitución.PAG1(Aincógnitab)=0{\displaystyle P^{-1}(Ax-b)=0}paraAincógnitab=0.{\displaystyle Ax-b=0.}

División de matrices

Un método iterativo estacionario se determina mediante la división de la matriz.A=METROnorte{\displaystyle A=MN}y la matriz de iteracióndo=IMETRO1A{\displaystyle C=IM^{-1}A}. Suponiendo que

el número de condiciónκ(METRO1A){\displaystyle \kappa (M^{-1}A)}está delimitado superiormente por κ(METRO1A)1+ρ(do)1ρ(do).{\displaystyle \kappa (M^{-1}A)\leq {\frac {1+\rho (C)}{1-\rho (C)}}\,.}

Interpretación geométrica

Para una matriz simétrica definida positivaA{\displaystyle A}el preacondicionadorPAG{\displaystyle P}También se suele elegir que sea simétrica definida positiva. El operador precondicionadoPAG1A{\displaystyle P^{-1}A}es entonces también simétrica definida positiva, pero con respecto a laPAG{\displaystyle P}producto escalar basado en . En este caso, el efecto deseado al aplicar un precondicionador es hacer que la forma cuadrática del operador precondicionado seaPAG1A{\displaystyle P^{-1}A}con respecto a laPAG{\displaystyle P}Producto escalar basado en para ser casi esférico. [ 1 ]

Preacondicionamiento variable y no lineal

DenotandoT=PAG1{\displaystyle T=P^{-1}}, destacamos que el preacondicionamiento se implementa prácticamente como multiplicar algún vectorr{\displaystyle r}porT{\displaystyle T}, es decir, calcular el productoTr.{\displaystyle Tr.}En muchas aplicaciones,T{\displaystyle T}no se da como una matriz, sino como un operadorT(r){\displaystyle T(r)}actuando sobre el vectorr{\displaystyle r}Sin embargo, algunos preacondicionadores populares cambian conr{\displaystyle r}y la dependencia der{\displaystyle r}Puede que no sea lineal. Ejemplos típicos implican el uso de métodos iterativos no lineales , como el método del gradiente conjugado , como parte de la construcción del precondicionador. Dichos precondicionadores pueden ser muy eficientes en la práctica; sin embargo, su comportamiento es difícil de predecir teóricamente.

Preacondicionamiento aleatorio

Un caso particular interesante de precondicionamiento variable es el precondicionamiento aleatorio, por ejemplo, el precondicionamiento multigrid en cuadrículas gruesas aleatorias. [ 2 ] Si se utiliza en métodos de descenso de gradiente , el precondicionamiento aleatorio puede verse como una implementación del descenso de gradiente estocástico y puede conducir a una convergencia más rápida, en comparación con el precondicionamiento fijo, ya que rompe el patrón asintótico de "zig-zag" del descenso de gradiente .

Preacondicionamiento espectralmente equivalente

El uso más común del precondicionamiento es para la solución iterativa de sistemas lineales resultantes de aproximaciones de ecuaciones diferenciales parciales . Cuanto mejor sea la calidad de la aproximación, mayor será el tamaño de la matriz. En tal caso, el objetivo del precondicionamiento óptimo es, por un lado, hacer que el número de condición espectral dePAG1A{\displaystyle P^{-1}A}estar acotado superiormente por una constante independiente del tamaño de la matriz, lo que D'yakonov denomina precondicionamiento espectralmente equivalente . Por otro lado, el coste de aplicación del PAG1{\displaystyle P^{-1}}Idealmente debería ser proporcional (también independiente del tamaño de la matriz) al costo de multiplicación deA{\displaystyle A}mediante un vector.

Ejemplos

Preacondicionador Jacobi (o diagonal)

El precondicionador de Jacobi es una de las formas más simples de precondicionamiento, en la que el precondicionador se elige como la diagonal de la matriz.PAG=diagramo(A).{\displaystyle P=\mathrm {diag} (A).}ArroganteAii0,i{\displaystyle A_{ii}\neq 0,\forall i}, obtenemosPAGij1=δijAij.{\displaystyle P_{ij}^{-1}={\frac {\delta _{ij}}{A_{ij}}}.}Es eficiente para matrices diagonalmente dominantes.A{\displaystyle A}Se utiliza en software de análisis para problemas de vigas o problemas unidimensionales (por ejemplo, STAAD.Pro ) .

ESPACIO

El precondicionador inverso aproximado disperso minimizaATIF,{\displaystyle \|AT-I\|_{F},}dóndeF{\displaystyle \|\cdot \|_{F}}es la norma de Frobenius yT=PAG1{\displaystyle T=P^{-1}}proviene de un conjunto de matrices dispersas adecuadamente restringidas . Bajo la norma de Frobenius, esto se reduce a resolver numerosos problemas de mínimos cuadrados independientes (uno por cada columna). Las entradas enT{\displaystyle T}debe restringirse a algún patrón de escasez o el problema sigue siendo tan difícil y laborioso como encontrar el inverso exacto deA{\displaystyle A}. El método fue introducido por MJ Grote y T. Huckle junto con un enfoque para seleccionar patrones de escasez. [ 3 ]

Otros preacondicionadores

  • Gradiente conjugado precondicionado – math-linux.com
  • Plantillas para la solución de sistemas lineales: bloques de construcción para métodos iterativos

Preacondicionamiento para problemas de valores propios

Los problemas de valores propios pueden plantearse de diversas maneras, cada una con su propio precondicionamiento. El precondicionamiento tradicional se basa en las denominadas transformaciones espectrales. Conociendo (aproximadamente) el valor propio objetivo, se puede calcular el vector propio correspondiente resolviendo el sistema lineal homogéneo relacionado, lo que permite utilizar el precondicionamiento para sistemas lineales. Finalmente, formular el problema de valores propios como una optimización del cociente de Rayleigh introduce técnicas de optimización precondicionada. [ 4 ]

Transformaciones espectrales

Por analogía con los sistemas lineales, para un problema de valores propiosAincógnita=λincógnita{\displaystyle Ax=\lambda x}uno puede verse tentado a reemplazar la matrizA{\displaystyle A}con la matrizPAG1A{\displaystyle P^{-1}A}utilizando un preacondicionadorPAG{\displaystyle P}Sin embargo, esto solo tiene sentido si los autovectores de búsqueda de A{\displaystyle A}yPAG1A{\displaystyle P^{-1}A}son lo mismo. Este es el caso de las transformaciones espectrales.

La transformación espectral más popular es la llamada transformación de desplazamiento e inversión , donde para un escalar dadoα{\displaystyle \alpha }, llamado el desplazamiento , el problema de valores propios originalAincógnita=λincógnita{\displaystyle Ax=\lambda x}se reemplaza con el problema de desplazamiento e inversión(AαI)1incógnita=μincógnita{\displaystyle (A-\alpha I)^{-1}x=\mu x}Los autovectores se conservan y se puede resolver el problema de desplazamiento e inversión mediante un solucionador iterativo, por ejemplo, la iteración de potencia . Esto da como resultado la iteración inversa , que normalmente converge al autovector correspondiente al autovalor más cercano al desplazamiento.α{\displaystyle \alpha }La iteración del cociente de Rayleigh es un método de desplazamiento e inversión con un desplazamiento variable.

Las transformaciones espectrales son específicas para problemas de valores propios y no tienen análogos para sistemas lineales. Requieren un cálculo numérico preciso de la transformación involucrada, lo que se convierte en el principal obstáculo para problemas de gran tamaño.

Preacondicionamiento general

Para establecer una conexión estrecha con los sistemas lineales, supongamos que el valor propio objetivo esλ{\displaystyle \lambda _ {\star }}se conoce (aproximadamente). Entonces se puede calcular el vector propio correspondiente a partir del sistema lineal homogéneo.(AλI)incógnita=0{\displaystyle (A-\lambda _{\star }I)x=0}. Utilizando el concepto de precondicionamiento izquierdo para sistemas lineales, obtenemosT(AλI)incógnita=0{\displaystyle T(A-\lambda _{\star }I)x=0}, dónde T{\displaystyle T}es el precondicionador, que podemos intentar resolver utilizando la iteración de Richardson.

incógnitanorte+1=incógnitanorteγnorteT(AλI)incógnitanorte, norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}T(A-\lambda _{\star }I)\mathbf {x} _{n},\ n\geq 0.}

El preacondicionamiento ideal

La pseudoinversa de Moore-PenroseT=(AλI)+{\displaystyle T=(A-\lambda _{\star }I)^{+}}es el precondicionador, que hace que la iteración de Richardson anterior converja en un paso conγnorte=1{\displaystyle \gamma _{n}=1}, desdeI(AλI)+(AλI){\displaystyle I-(A-\lambda _{\star }I)^{+}(A-\lambda _{\star }I)}, denotado porPAG{\displaystyle P_{\star }}, es el proyector ortogonal en el espacio propio, correspondiente aλ{\displaystyle \lambda _{\star }}La elección T=(AλI)+{\displaystyle T=(A-\lambda _{\star }I)^{+}}es poco práctico por tres razones independientes. Primero,λ{\displaystyle \lambda _{\star }}En realidad no se sabe, aunque se puede reemplazar con su aproximación.λ~{\displaystyle {\tilde {\lambda }}_{\star }}En segundo lugar, la pseudoinversa exacta de Moore-Penrose requiere el conocimiento del vector propio, que es lo que estamos tratando de encontrar. Esto se puede sortear en cierta medida mediante el uso del precondicionador de Jacobi-Davidson.T=(IPAG~)(Aλ~I)1(IPAG~){\displaystyle T=(I-{\tilde {P}}_{\star })(A-{\tilde {\lambda }}_{\star }I)^{-1}(I-{\tilde {P}}_{\star })}, dóndePAG~{\displaystyle {\tilde {P}}_{\star }}aproximacionesPAG{\displaystyle P_{\star }}Por último, pero no menos importante, este enfoque requiere una solución numérica precisa del sistema lineal con la matriz del sistema.(Aλ~I){\displaystyle (A-{\tilde {\lambda }}_{\star }I)}, que resulta tan costoso para problemas grandes como el método de desplazamiento e inversión mencionado anteriormente. Si la solución no es lo suficientemente precisa, el paso dos puede ser redundante. [ 4 ]

Preacondicionamiento práctico

Primero sustituyamos el valor teórico.λ{\displaystyle \lambda _{\star }}en la iteración de Richardson anterior con su aproximación actualλnorte{\displaystyle \lambda _{n}}para obtener un algoritmo práctico incógnitanorte+1=incógnitanorteγnorteT(AλnorteI)incógnitanorte, norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}T(A-\lambda _{n}I)\mathbf {x} _{n},\ n\geq 0.}

Una opción popular esλnorte=ρ(incógnitanorte){\displaystyle \lambda _{n}=\rho (x_{n})}utilizando la función de cociente de Rayleighρ(){\displaystyle \rho (\cdot )}. El preacondicionamiento práctico puede ser tan trivial como simplemente usarT=(diagnóstico(A))1{\displaystyle T=(\operatorname {diag} (A))^{-1}}oT=(diagnóstico(AλnorteI))1.{\displaystyle T=(\operatorname {diag} (A-\lambda _{n}I))^{-1}.}Para algunas clases de problemas de valores propios, la eficiencia deTA1{\displaystyle T\approx A^{-1}}Se ha demostrado, tanto numérica como teóricamente. La elecciónTA1{\displaystyle T\approx A^{-1}}permite utilizar fácilmente, para problemas de valores propios, la gran variedad de precondicionadores desarrollados para sistemas lineales.

Debido al valor cambianteλnorte{\displaystyle \lambda _{n}}Un análisis de convergencia teórica exhaustivo es mucho más difícil, en comparación con el caso de los sistemas lineales, incluso para los métodos más simples, como la iteración de Richardson .

  • Plantillas para la solución de problemas algebraicos de valores propios: una guía práctica

Preacondicionamiento en la optimización

Ilustración de un descenso gradual

En optimización , el preacondicionamiento se utiliza normalmente para acelerar los algoritmos de optimización de primer orden .

Descripción

Por ejemplo, para encontrar un mínimo local de una función de valor real.F(incógnita){\displaystyle F(\mathbf {x} )}Utilizando el descenso de gradiente , se dan pasos proporcionales al negativo del gradiente.F(a){\displaystyle -\nabla F(\mathbf {a} )} (o del gradiente aproximado) de la función en el punto actual: incógnitanorte+1=incógnitanorteγnorteF(incógnitanorte), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}

El preacondicionador se aplica al gradiente: incógnitanorte+1=incógnitanorteγnortePAG1F(incógnitanorte), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}

El preacondicionamiento aquí puede verse como un cambio en la geometría del espacio vectorial con el objetivo de que los conjuntos de nivel se asemejen a círculos. [ 5 ] En este caso, el gradiente preacondicionado apunta más cerca del punto de los extremos, como se muestra en la figura, lo que acelera la convergencia.

Conexión a sistemas lineales

El mínimo de una función cuadrática F(incógnita)=12incógnitaTAincógnitaincógnitaTb,{\displaystyle F(\mathbf {x} )={\tfrac {1}{2}}\mathbf {x} ^{T}A\mathbf {x} -\mathbf {x} ^{T}\mathbf {b} ,} dóndeincógnita{\displaystyle \mathbf {x} }yb{\displaystyle \mathbf {b} }son vectores columna reales yA{\displaystyle A}es una matriz real simétrica definida positiva , es exactamente la solución de la ecuación linealAincógnita=b{\displaystyle A\mathbf {x} =\mathbf {b} }. DesdeF(incógnita)=Aincógnitab{\displaystyle \nabla F(\mathbf {x} )=A\mathbf {x} -\mathbf {b} }, el método de descenso de gradiente precondicionado de minimización F(incógnita){\displaystyle F(\mathbf {x} )}es incógnitanorte+1=incógnitanorteγnortePAG1(Aincógnitanorteb), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\mathbf {b} ),\ n\geq 0.}

Esta es la iteración de Richardson precondicionada para resolver un sistema de ecuaciones lineales .

Relación con problemas de valores propios

El mínimo del cociente de Rayleighρ(incógnita)=incógnitaTAincógnitaincógnitaTincógnita,{\displaystyle \rho (\mathbf {x} )={\frac {\mathbf {x} ^{T}A\mathbf {x} }{\mathbf {x} ^{T}\mathbf {x} }},} dóndeincógnita{\displaystyle \mathbf {x} }es un vector columna real distinto de cero yA{\displaystyle A}es una matriz real simétrica definida positiva , es el valor propio más pequeño deA{\displaystyle A}, mientras que el minimizador es el vector propio correspondiente . Dado queρ(incógnita){\displaystyle \nabla \rho (\mathbf {x} )}es proporcional aAincógnitaρ(incógnita)incógnita{\displaystyle A\mathbf {x} -\rho (\mathbf {x} )\mathbf {x} }, el método de descenso de gradiente precondicionado de minimización ρ(incógnita){\displaystyle \rho (\mathbf {x} )}es incógnitanorte+1=incógnitanorteγnortePAG1(Aincógnitanorteρ(incógnitanorte)incógnitanorte), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\rho (\mathbf {x_{n}} )\mathbf {x_{n}} ),\ n\geq 0.}

Este método es análogo a la iteración de Richardson precondicionada para resolver problemas de valores propios.

preacondicionamiento variable

En muchos casos, puede ser beneficioso cambiar el precondicionador en algún paso o incluso en cada paso de un algoritmo iterativo para adaptarse a una forma cambiante de los conjuntos de nivel, como en incógnitanorte+1=incógnitanorteγnortePAGnorte1F(incógnitanorte), norte0.{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P_{n}^{-1}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}

Sin embargo, hay que tener en cuenta que construir un precondicionador eficiente suele ser computacionalmente costoso. El mayor coste de actualizar el precondicionador puede fácilmente anular el efecto positivo de una convergencia más rápida. SiPAGnorte1=Hnorte{\displaystyle P_{n}^{-1}=H_{n}}, una aproximación BFGS de la matriz hessiana inversa, este método se conoce como método cuasi-Newton .

Referencias

  1. Shewchuk, Jonathan Richard (4 de agosto de 1994). "Una introducción al método del gradiente conjugado sin el dolor agonizante" (PDF) .
  2. Henricus Bouwmeester, Andrew Dougherty, Andrew V Knyazev. Preacondicionamiento no simétrico para métodos de gradiente conjugado y descenso más pronunciado. Procedia Computer Science, Volumen 51, Páginas 276-285, Elsevier, 2015. https://doi.org/10.1016/j.procs.2015.05.241
  3. Grote, MJ y Huckle, T. (1997). "Preacondicionamiento paralelo con inversas aproximadas dispersas". SIAM Journal on Scientific Computing . 18 (3): 838– 53. doi : 10.1137/S1064827594276552 .
  4. 1 2 Knyazev, Andrew V. (1998). "Solucionadores de valores propios precondicionados: ¿un oxímoron?" . Electronic Transactions on Numerical Analysis . 7 : 104– 123.
  5. ^ Himmelblau, David M. (1972). Programación no lineal aplicada . Nueva York: McGraw-Hill. págs. 78 a 83. ISBN  0-07-028921-2.

Fuentes

  • Axelsson, Owe (1996). Métodos de solución iterativos . Cambridge University Press. pág.  6722. ISBN 978-0-521-55569-2.
  • D'yakonov, EG (1996). Optimización en la resolución de problemas elípticos . CRC-Press. pág.  592. ISBN 978-0-8493-2872-5.
  • Saad, Yousef y van der Vorst, Henk (2001). «Solución iterativa de sistemas lineales en el siglo XX». En Brezinski, C. y Wuytack, L. (eds.). Análisis numérico: desarrollos históricos en el siglo XX . Elsevier Science Publishers . §8 Métodos de precondicionamiento, pp. 193-198. ISBN 0-444-50617-9.
  • van der Vorst, HA (2003). Métodos iterativos de Krylov para grandes sistemas lineales . Cambridge University Press, Cambridge. ISBN 0-521-81828-1.
  • Chen, Ke (2005). Técnicas y aplicaciones del preacondicionamiento de matrices . Cambridge: Cambridge University Press. ISBN 978-0521838283OCLC 61410324 
Obtenido de " https://en.wikipedia.org/w/index.php?title=Preconditioner&oldid=1301178516 "