Articulo de referencia

Método del residuo mínimo

Comparación de la norma de error y el residuo en el método CG (azul) y el método MINRES (verde). La matriz utilizada proviene de un problema de valor límite 2D . El método de re...

Comparación de la norma de error y el residuo en el método CG (azul) y el método MINRES (verde). La matriz utilizada proviene de un problema de valor límite 2D .

El método de residuos mínimos o MINRES es un método de subespacio de Krylov para la solución iterativa de sistemas de ecuaciones lineales simétricas . Fue propuesto por los matemáticos Christopher Conway Paige y Michael Alan Saunders en 1975. [1]

A diferencia del popular método CG , el método MINRES no asume que la matriz sea definida positiva , solo es obligatoria la simetría de la matriz.

GMRES frente a MINRES

El método GMRES es esencialmente una generalización de MINRES para matrices arbitrarias. Ambos minimizan la norma 2 del residuo y realizan los mismos cálculos en aritmética exacta cuando la matriz es simétrica. MINRES es un método de recurrencia corta con un requisito de memoria constante, mientras que GMRES requiere almacenar todo el espacio de Krylov, por lo que su requisito de memoria es aproximadamente proporcional al número de iteraciones. Por otro lado, GMRES tiende a sufrir menos pérdida de ortogonalidad. [1] [2]

Propiedades del método MINRES

El método MINRES calcula iterativamente una solución aproximada de un sistema lineal de ecuaciones de la forma donde es una matriz simétrica y un vector . A incógnita = b , {\displaystyle Ax=b,} A R norte × norte {\displaystyle A\in \mathbb {R} ^{n\times n}} b R norte {\displaystyle b\in \mathbb {R} ^{n}}

Para ello, se minimiza la norma del residuo en un subespacio de Krylov de dimensión a . Aquí hay un valor inicial (a menudo cero) y . a ( incógnita ) := b A incógnita {\displaystyle r(x):=b-Ax} a {\estilo de visualización k} V a = incógnita 0 + durar { a 0 , A a 0 , A a 1 a 0 } {\displaystyle V_{k}=x_{0}+\operatorname {span} \{r_{0},Ar_{0}\ldots ,A^{k-1}r_{0}\}} incógnita 0 R norte {\displaystyle x_{0}\in \mathbb {R} ^{n}} a 0 := a ( incógnita 0 ) {\displaystyle r_{0}:=r(x_{0})}

Más precisamente, definimos las soluciones aproximadas a través de donde es la norma euclidiana estándar en . incógnita a Estilo de visualización x_{k}} incógnita a := a a gramo metro i norte incógnita V a " a ( incógnita ) " , {\displaystyle x_{k}:=\mathrm {argmin} _{x\in V_{k}}\|r(x)\|,} " " {\estilo de visualización \|\cdot \|} R norte {\displaystyle \mathbb {R} ^{n}}

Debido a la simetría de , a diferencia del método GMRES , es posible realizar este proceso de minimización de forma recursiva, almacenando únicamente los dos pasos anteriores (recurrencia corta). Esto ahorra memoria. A {\estilo de visualización A}

Algoritmo MINRES

Nota: El método MINRES es más complicado que el método del residuo conjugado, que es algebraicamente equivalente. Por lo tanto, a continuación se elaboró ​​el método del residuo conjugado (CR) como sustituto. Se diferencia del MINRES en que en el MINRES, las columnas de una base del espacio de Krylov (indicadas a continuación por ) se pueden ortogonalizar, mientras que en el CR sus imágenes (indicadas a continuación con ) se pueden ortogonalizar mediante la recursión de Lanczos. Existen variantes más eficientes y preacondicionadas con menos AXPY. Compárese con el artículo. pag a estilo de visualización p_{k}} s a estilo de visualización s_ {k}}

Primero eliges arbitrario y calculas incógnita 0 R norte {\displaystyle x_{0}\in \mathbb {R} ^{n}} a 0 = b A incógnita 0 pag 0 = a 0 s 0 = A pag 0 {\displaystyle {\begin{aligned}r_{0}&=b-Ax_{0}\\p_{0}&=r_{0}\\s_{0}&=Ap_{0}\end{aligned}}}

Luego iteramos en los siguientes pasos: a = 1 , 2 , {\displaystyle k=1,2,\puntos}

  • Calcular a través de incógnita a , a a {\displaystyle x_{k},r_{k}}

    alfa a 1 = a a 1 , s a 1 s a 1 , s a 1 {\displaystyle \alpha _{k-1}={\frac {\langle r_{k-1},s_{k-1}\rangle }{\langle s_{k-1},s_{k-1} \rangle }}} incógnita a = incógnita a 1 + alfa a 1 pag a 1 {\displaystyle x_{k}=x_{k-1}+\alpha _{k-1}p_{k-1}} a a = a a 1 alfa a 1 s a 1 {\displaystyle r_{k}=r_{k-1}-\alpha _{k-1}s_{k-1}} Si es menor que una tolerancia especificada, el algoritmo se interrumpe con la solución aproximada . De lo contrario, se calcula una nueva dirección de descenso mediante " a a " {\displaystyle \|r_{k}\|} incógnita a Estilo de visualización x_{k}} pag a estilo de visualización p_{k}} pag a s a 1 {\displaystyle p_{k}\leftarrow s_{k-1}}

    s a A s a 1 {\displaystyle s_{k}\leftarrow As_{k-1}}
  • para (el paso no se realiza en el primer paso de iteración) calcular: yo = 1 , 2 {\displaystyle l=1,2} yo = 2 {\displaystyle l=2} β a , yo = s a , s a yo s a yo , s a yo {\displaystyle \beta _{k,l}={\frac {\langle s_{k},s_{kl}\rangle }{\langle s_{kl},s_{kl}\rangle }}} pag a pag a β a , yo pag a yo {\displaystyle p_{k}\leftarrow p_{k}-\beta _{k,l}p_{kl}} s a s a β a , yo s a yo {\displaystyle s_{k}\leftarrow s_{k}-\beta _{k,l}s_{kl}}

Tasa de convergencia del método MINRES

En el caso de matrices definidas positivas, la tasa de convergencia del método MINRES se puede estimar de manera similar a la del método CG. [3] Sin embargo, a diferencia del método CG, la estimación no se aplica a los errores de las iteraciones, sino a los residuos. Se aplica lo siguiente:

" a a " 2 ( k ( A ) 1 k ( A ) + 1 ) a " a 0 " , {\displaystyle \|r_{k}\|\leq 2\left({\frac {{\sqrt {\kappa (A)}}-1}{{\sqrt {\kappa (A)}}+1}}\right)^{k}\|r_{0}\|,}

donde es el número de condición de la matriz . Como es normal, tenemos donde y son los valores propios máximo y mínimo de , respectivamente. k ( A ) {\displaystyle \kappa (A)} A {\estilo de visualización A} A {\estilo de visualización A} k ( A ) = | la máximo ( A ) | | la mín. ( A ) | , {\displaystyle \kappa (A)={\frac {\left|\lambda _{\text{máx}}(A)\right|}{\left|\lambda _{\text{mín}}(A)\right|}},} la máximo ( A ) {\displaystyle \lambda _{\text{máx}}(A)} la mín. ( A ) {\displaystyle \lambda _{\text{mín}}(A)} A {\estilo de visualización A}

Implementación en GNU Octave / MATLAB

función [x, r] = minres ( A, b, x0, maxit, tol ) 
  x = x0 ;  
  r = b - A * x0 ;      
  p0 = r ;  
  s0 = A * p0 ;    
  p1 = p0 ;  
  s1 = s0 ;  
  para iter = 1 : maxit   
    p2 = p1 ; p1 = p0 ;     
    s2 = s1 ; s1 = s0 ;     
    alfa = r '* s1 / ( s1 '* s1 );    
    x = x + alfa * p1 ;      
    r = r - alfa * s1 ;      
    si ( r '* r < tol ^ 2 )   
      romper
    fin
    p0 = s1 ;  
    s0 = A * s1 ;    
    beta1 = s0 '* s1 / ( s1 '* s1 );    
    p0 = p0 - beta1 * p1 ;      
    s0 = s0 - beta1 * s1 ;      
    si iter > 1   
      beta2 = s0 '* s2 / ( s2 '* s2 );    
      p0 = p0 - beta2 * p2 ;      
      s0 = s0 - beta2 * s2 ;      
    fin
  fin
fin

Referencias

  1. ^ ab Christopher C. Paige, Michael A. Saunders (1975). "Solución de sistemas indefinidos dispersos de ecuaciones lineales". Revista SIAM sobre análisis numérico . 12 (4): 617–629. doi :10.1137/0712047.
  2. ^ Nifa, M. Naoufal. "Solucionadores eficientes para optimización restringida en problemas de identificación de parámetros" (PDF) (Tesis doctoral). pp. 51–52.
  3. ^ Sven Gross, Arnold Reusken. Métodos numéricos para flujos incompresibles de dos fases . Sección 5.2: Springer. ISBN 978-3-642-19685-0.{{cite book}}: Mantenimiento de CS1: ubicación ( enlace )
  • Método del residuo mínimo, Wolfram MathWorld, 26 de julio de 2022.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Minimal_residual_method&oldid=1249362936"