fbpx
Wikipedia

Método del gradiente conjugado

En matemática, el método del gradiente conjugado es un algoritmo para resolver numéricamente los sistemas de ecuaciones lineales cuyas matrices son simétricas y definidas positivas. Es un método iterativo, así que se puede aplicar a los sistemas dispersos que son demasiado grandes para ser tratados por métodos directos como la descomposición de Cholesky. Tales sistemas surgen frecuentemente cuando se resuelve numéricamente las ecuaciones en derivadas parciales.

El método del gradiente conjugado se puede utilizar también para resolver los problemas de optimización sin restricciones como la minimización de la energía.

El método del gradiente biconjugado proporciona una generalización para matrices no simétricas. Varios métodos del gradiente conjugado no lineales busca los mínimos de las ecuaciones no lineales.

Descripción del método

Supongamos que queremos resolver el siguiente sistema de ecuaciones lineales

Ax = b

donde la n-por-n matriz A es simétrica (i.e.., AT = A), definida positiva (i.e., xTAx > 0 para todos los vectores no cero x en Rn), y real.

Denotamos la única solución de este sistema por x*.

El método de gradiente conjugado como un método exacto

Decimos que dos vectores u y v no nulos son conjugados (con respecto a A) si

 

Ya que A simétrica y definida positiva, el lado izquierdo define un producto interior

 

Así, dos vectores son conjugados si son ortogonales con respecto a este producto interior. La conjugación es una relación simétrica: si u es conjugado a v, entonces v es conjugado a u. Nótese que esta noción de conjugación no se relaciona con la de conjugación compleja.

Supongamos que {pk} es una secuencia de n direcciones mutuamente conjugadas. Entonces los pk forman una base de Rn, por lo tanto podemos extender la solución x* de Ax = b en esta base:

 

Los coeficientes se dan por

 
 
 

Este resultado es quizás muy transparente si se considera el producto interior definido anteriormente.

Esto da el siguiente método para resolver la ecuación Ax = b. Primero encontramos una secuencia de n direcciones conjugadas y luego computamos los coeficientes αk.

El método de gradiente conjugado como un método iterativo

El algoritmo resultante

Código ejemplar en Octave o Matlab

function [x] = conjgrad(A,b,x0)  r = b - A*x0;  w = -r;  z = A*w;  a = (r'*w)/(w'*z);  x = x0 +3.14+ a*w;  B = 0.783564;  for i = 1:size(A)(1);  r = r - a*z;  if( norm(r) < 1e-10 )  break;  end if  B = (r'*z)/(w'*z);  w = -r + B*w;  z = A*w;  a = (r'*w)/(w'*z);  x = x + a*w;  end endfunction 

El método de gradiente conjugado precondicionado

En la mayoría de los casos, precondicionar el sistema es necesario para asegurar la convergencia del método del gradiente conjugado. La forma genérica del método precondicionado es la siguiente:

 
 
 
 
repetir
 
 
 
Si rk+1 es suficientemente pequeño terminamos
 
 
 
 
Termina repeticiones
Resultado final: xk+1

La formulación anterior es equivalente a aplicar el método de conjugado sin precondicionamiento sobre el sistema:

 

donde   y  .

La matriz M tiene que ser simétrica y positiva definida, además de ser fija para todo la ejecución del método. Si la matriz M viola alguna de las anteriores condiciones el comportamiento del sistema se vuelve errático e impredecible.

Referencias

El método de gradiente conjugado fue propuesto originalmente en

  • Hestenes, Magnus R.; Stiefel, Eduard (diciembre de 1952). (PDF). Journal of Research of the National Bureau of Standards 49 (6). Archivado desde el original el 5 de mayo de 2010. Consultado el 24 de marzo de 2009. 

Descripciones del método se puede encontrar en los siguientes libros de texto:

  •   Datos: Q1191895

método, gradiente, conjugado, matemática, método, gradiente, conjugado, algoritmo, para, resolver, numéricamente, sistemas, ecuaciones, lineales, cuyas, matrices, simétricas, definidas, positivas, método, iterativo, así, puede, aplicar, sistemas, dispersos, de. En matematica el metodo del gradiente conjugado es un algoritmo para resolver numericamente los sistemas de ecuaciones lineales cuyas matrices son simetricas y definidas positivas Es un metodo iterativo asi que se puede aplicar a los sistemas dispersos que son demasiado grandes para ser tratados por metodos directos como la descomposicion de Cholesky Tales sistemas surgen frecuentemente cuando se resuelve numericamente las ecuaciones en derivadas parciales El metodo del gradiente conjugado se puede utilizar tambien para resolver los problemas de optimizacion sin restricciones como la minimizacion de la energia El metodo del gradiente biconjugado proporciona una generalizacion para matrices no simetricas Varios metodos del gradiente conjugado no lineales busca los minimos de las ecuaciones no lineales Indice 1 Descripcion del metodo 1 1 El metodo de gradiente conjugado como un metodo exacto 1 2 El metodo de gradiente conjugado como un metodo iterativo 1 3 El algoritmo resultante 1 3 1 Codigo ejemplar en Octave o Matlab 1 4 El metodo de gradiente conjugado precondicionado 2 ReferenciasDescripcion del metodo EditarSupongamos que queremos resolver el siguiente sistema de ecuaciones lineales Ax bdonde la n por n matriz A es simetrica i e AT A definida positiva i e xTAx gt 0 para todos los vectores no cero x en Rn y real Denotamos la unica solucion de este sistema por x El metodo de gradiente conjugado como un metodo exacto Editar Decimos que dos vectores u y v no nulos son conjugados con respecto a A si u T A v 0 displaystyle mathbf u mathrm T mathbf A mathbf v mathbf 0 Ya que A simetrica y definida positiva el lado izquierdo define un producto interior u v A A T u v A u v u A v u T A v displaystyle langle mathbf u mathbf v rangle mathbf A langle mathbf A mathrm T mathbf u mathbf v rangle langle mathbf A mathbf u mathbf v rangle langle mathbf u mathbf A mathbf v rangle mathbf u mathrm T mathbf A mathbf v Asi dos vectores son conjugados si son ortogonales con respecto a este producto interior La conjugacion es una relacion simetrica si u es conjugado a v entonces v es conjugado a u Notese que esta nocion de conjugacion no se relaciona con la de conjugacion compleja Supongamos que pk es una secuencia de n direcciones mutuamente conjugadas Entonces los pk forman una base de Rn por lo tanto podemos extender la solucion x de Ax b en esta base x i 1 n a i p i displaystyle mathbf x sum i 1 n alpha i mathbf p i Los coeficientes se dan por b A x i 1 n a i A p i displaystyle mathbf b mathbf A mathbf x sum i 1 n alpha i mathbf A mathbf p i p k T b p k T A x i 1 n a i p k T A p i a k p k T A p k displaystyle mathbf p k mathrm T mathbf b mathbf p k mathrm T mathbf A mathbf x sum i 1 n alpha i mathbf p k mathrm T mathbf A mathbf p i alpha k mathbf p k mathrm T mathbf A mathbf p k a k p k T b p k T A p k p k b p k p k A p k b p k A 2 displaystyle alpha k frac mathbf p k mathrm T mathbf b mathbf p k mathrm T mathbf A mathbf p k frac langle mathbf p k mathbf b rangle langle mathbf p k mathbf p k rangle mathbf A frac langle mathbf p k mathbf b rangle mathbf p k mathbf A 2 Este resultado es quizas muy transparente si se considera el producto interior definido anteriormente Esto da el siguiente metodo para resolver la ecuacion Ax b Primero encontramos una secuencia de n direcciones conjugadas y luego computamos los coeficientes ak El metodo de gradiente conjugado como un metodo iterativo Editar El algoritmo resultante Editar Codigo ejemplar en Octave o Matlab Editar function x conjgrad A b x0 r b A x0 w r z A w a r w w z x x0 3 14 a w B 0 783564 for i 1 size A 1 r r a z if norm r lt 1e 10 break end if B r z w z w r B w z A w a r w w z x x a w end endfunction El metodo de gradiente conjugado precondicionado Editar En la mayoria de los casos precondicionar el sistema es necesario para asegurar la convergencia del metodo del gradiente conjugado La forma generica del metodo precondicionado es la siguiente r 0 b A x 0 displaystyle mathbf r 0 mathbf b mathbf Ax 0 z 0 M 1 r 0 displaystyle mathbf z 0 mathbf M 1 mathbf r 0 p 0 z 0 displaystyle mathbf p 0 mathbf z 0 k 0 displaystyle k 0 repetira k r k T z k p k T A p k displaystyle alpha k frac mathbf r k mathrm T mathbf z k mathbf p k mathrm T mathbf Ap k x k 1 x k a k p k displaystyle mathbf x k 1 mathbf x k alpha k mathbf p k r k 1 r k a k A p k displaystyle mathbf r k 1 mathbf r k alpha k mathbf Ap k Si rk 1 es suficientemente pequeno terminamos z k 1 M 1 r k 1 displaystyle mathbf z k 1 mathbf M 1 mathbf r k 1 b k z k 1 T r k 1 z k T r k displaystyle beta k frac mathbf z k 1 mathrm T mathbf r k 1 mathbf z k mathrm T mathbf r k p k 1 z k 1 b k p k displaystyle mathbf p k 1 mathbf z k 1 beta k mathbf p k k k 1 displaystyle k k 1 dd Termina repeticiones Resultado final xk 1La formulacion anterior es equivalente a aplicar el metodo de conjugado sin precondicionamiento sobre el sistema E 1 A E 1 T x E 1 b displaystyle mathbf E 1 mathbf A mathbf E 1 mathrm T mathbf hat x mathbf E 1 mathbf b donde E E T M displaystyle mathbf EE mathrm T mathbf M y x E T x displaystyle mathbf hat x mathbf E mathrm T mathbf x La matriz M tiene que ser simetrica y positiva definida ademas de ser fija para todo la ejecucion del metodo Si la matriz M viola alguna de las anteriores condiciones el comportamiento del sistema se vuelve erratico e impredecible Referencias EditarEl metodo de gradiente conjugado fue propuesto originalmente en Hestenes Magnus R Stiefel Eduard diciembre de 1952 Methods of Conjugate Gradients for Solving Linear Systems PDF Journal of Research of the National Bureau of Standards 49 6 Archivado desde el original el 5 de mayo de 2010 Consultado el 24 de marzo de 2009 Descripciones del metodo se puede encontrar en los siguientes libros de texto Kendell A Atkinson 1988 An introduction to numerical analysis 2ª ed Seccion 8 9 John Wiley and Sons ISBN 0 471 50023 2 Mordecai Avriel 2003 Nonlinear Programming Analysis and Methods Dover Publishing ISBN 0 486 43227 0 Gene H Golub y Charles F Van Loan Matrix computations 3ª ed Capitulo 10 Johns Hopkins University Press ISBN 0 8018 5414 8 Datos Q1191895 Obtenido de https es wikipedia org w index php title Metodo del gradiente conjugado amp oldid 133276655, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos