Your SlideShare is downloading. ×
0
Métodos iterativos para sistemas de ecuaciones lineales
Métodos iterativos para sistemas de ecuaciones lineales <ul><li>Introducción </li></ul><ul><li>Ecuación del Calor </li></u...
Métodos directos frente a métodos iterativos <ul><li>DIRECTOS </li></ul><ul><li>Ax =b </li></ul><ul><li>x = A   b </li></u...
Convergencia y número de operaciones <ul><li>Coste (para matrices densas) </li></ul><ul><ul><li>Directos: n 3   Iterativos...
Ecuación del Calor <ul><li>Sistema de ec. lin. </li></ul><ul><li>Matriz asociada </li></ul>T 0 T 1 T 2   .  .  . T n T n+1
Matriz de la Ecuación del Calor con MATLAB <ul><li>function A = mcalor1(n) </li></ul><ul><li>v = ones(1,n-1); </li></ul><u...
El método de Jacobi <ul><li>Sistema de ecuaciones lineales </li></ul>
Ecuación de punto fijo
Iteración de Jacobi
Expresión matricial Resolución con MATLAB <ul><li>U = triu(A,1);   L = tril(A,-1); </li></ul><ul><li>d = diag(A); </li></u...
Condición suficiente de convergencia <ul><li>Matriz  estrictamente diagonalmente dominante : para i=1,2,...,n </li></ul><u...
Iteración de Gauss-Seidel
Expresión matricial Resolución con MATLAB <ul><li>d = diag(A); D = diag(d); </li></ul><ul><li>U = triu(A,1); L = tril(A,-1...
Método de sobrerrelajación x i k z i x i k+1 i k+1
Paso de sobrerrelajación
Expresión matricial Resolución con MATLAB <ul><li>D = diag(diag(A)); </li></ul><ul><li>c =   *b; C = (1-  ) *D -   *U <...
Condición suficiente de convergencia <ul><li>Matriz  simétrica definida positiva : </li></ul><ul><li>A T  = A,  x T Ax > 0...
Ecuación del Calor en un rectángulo <ul><li>V C  = (V N  + V S  + V E  + V W )/4 </li></ul>C N E W S
Generación de la matriz  con MATLAB <ul><li>function A = mcalor2(m,n) </li></ul><ul><li>p = m*n; </li></ul><ul><li>v = one...
Resumen <ul><li>Los métodos iterativos se aplican a matrices  grandes  y  dispersas . </li></ul><ul><li>El coste por itera...
Upcoming SlideShare
Loading in...5
×

Sistemas lineales iterativos

3,297

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,297
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 1
  • 2 En este capítulo estudiaremos métodos iterativos para resolución de sistemas de ecuaciones lineales. De forma general, estos métodos están basados en el método del punto fijo y el proceso consiste en sustituir de modo iterado en una fórmula.
  • 3 Los métodos iterativos frente a los directos, no nos aseguran una mejor aproximación, sin embargo son más eficientes cuando trabajamos con matrices de gran tamaño. En la resolución numérica de ecuaciones en derivadas parciales suelen aparecer sistemas de ecuaciones lineales con incluso 100000 incógnitas; en estos sistemas la matriz de coeficientes es dispersa; es decir, un alto porcentaje de los elementos de la matriz son iguales a 0. Si hay algún tipo de patrón en los elementos distintos de cero (por ejemplo los sistemas tridiagonales), entonces un método iterativo puede resultar muy eficaz.
  • 4
  • 5 La ecuación del calor resulta un buen ejemplo para los métodos iterativos, pues da lugar a un sistema tridiagonal.
  • 9 Introducimos al matriz del calor como función de MatLab.
  • 6 De todos los métodos iterativos, el de Jacobi es el más fácil de aplicar y entender, sin embargo, no es muy eficiente en cuanto a la obtención de soluciones. Considérese el sistema (Ejemplo 1) que podemos escribir equivalentemente como: El método de Jacobi consiste en usar las fórmulas anteriores como iteración de punto fijo.
  • 7
  • 8 En cada paso de al iteración de Jacobi se obtiene un vector con n coordenadas P 0 = (x 1 (0) , x 2 (0) , …, x n (0) ), … , P k =(x 1 (k) , x 2 (k) , …, x n (k) ) donde la estimación inicial (x 1 (0) , x 2 (0) , …, x n (0) ) se debe elegir. Cuando no se tienen pistas sobre la solución se suele tomar x i (0) = b i /a ii En el ejemplo anterior, si tomamos P 0 =(x (0) , y (0) , z (0) )=(1,2,2) En la primera iteración se obtiene P 1 = (1.75, 3.375, 3.00) Generando al sucesión de iteraciones de Jacobi s e observa que converge a (2, 4, 3).
  • 9 Expresemos en forma matricial la fórmula de iteración de Jacobi, y realicemos un programa MatLab para el método de Jacobi. Para ello descomponemos la matriz A como suma de una matriz diagonal, una triangular inferior y una triangular superior. A = L+D+U (L+D+U)x = b Lx+Dx+Ux=b Dx = b-(L+U)x x = D -1 (b-(L+U)x) Iteración de Jacobi: x (k+1) = D -1 (b-(L+U)x (k) )
  • 10 Muchas veces el método de iteración de Jacobi no funciona. Veamos un ejemplo de ello reordenando las ecuaciones del ejemplo anterior. (Ejemplo 2) Ahora la fórmula de iteración es y se observa que al sucesión de Jacobi diverge. Obsérvese que la matriz del sistema no es estrictamente diagonal dominante.
  • 11 El método de Gauss-Seidel es una modificación del método de Jacobi que acelera la convergencia de éste. Obsérvese que el método de Jacobi genera una sucesión para cada incógnita {x 1 (k) }, … , {x n (k) }. Puesto que x i (k+1) es probablemente mejor aproximación que x i (k) , en vez de usar x i (k) en el cálculo de x i+1 (k+1) usamos x i (k+1) . Aplíquese esta estrategia al ejemplo 1 y comprubese al velocidad de convergencia. El método de Gauss-Seidel recorta sustancialmente el número de iteraciones a realizar para obtener una cierta precisión en la solución. Evidentemente los criterios de convergencia son similares a los de Jacobi.
  • 12 Expresemos en forma matricial la fórmula de iteración de Gauss-Seidel, y realicemos un programa MatLab para el método de Gauss-Seidel. Para ello descomponemos la matriz A como suma de una matriz diagonal, una triangular inferior y una triangular superior. A = L+D+U (L+D+U)x = b Lx+Dx+Ux=b (D+L)x = b-Ux x = (D+L) -1 (b-Ux) Iteración de Jacobi: x (k+1) = (D+L) -1 (b-Ux (k) )
  • 13 El método de sobrerrelajación reduce el número de iteraciones en los cálculos de soluciones de sistemas lineales por el método de Gauss-Seidel. Se basa en obtener en cada iteración un promedio ponderado (solamente para los elementos del vector anteriores a la posición de cálculo) de la solución del método de Jacobi y de la solución del método de Gauss-Seidel.
  • 14
  • 15 Expresemos en forma matricial la fórmula de iteración de sobrerrelajación, y realicemos un programa MatLab para el método de sobrerrelajación. Para ello descomponemos la matriz A como suma de una matriz diagonal, una triangular inferior y una triangular superior igual que en los anteriores. A = L+D+U w(L+D+U)x = wb con 0&lt;w&lt;2 (wL+D)x=wb+((1-w)D-wU)x) Iteración de Jacobi: x (k+1) = (wL+D) -1 (wb+((1-w)D-wU) x (k) )
  • 16
  • 17
  • 9
  • 9
  • Transcript of "Sistemas lineales iterativos"

    1. 1. Métodos iterativos para sistemas de ecuaciones lineales
    2. 2. Métodos iterativos para sistemas de ecuaciones lineales <ul><li>Introducción </li></ul><ul><li>Ecuación del Calor </li></ul><ul><li>Método de Jacobi </li></ul><ul><li>Método de Gauss-Seidel </li></ul><ul><li>Método de Sobrerrelajación </li></ul><ul><li>Problema del Condensador </li></ul>
    3. 3. Métodos directos frente a métodos iterativos <ul><li>DIRECTOS </li></ul><ul><li>Ax =b </li></ul><ul><li>x = A b </li></ul><ul><li>Tamaño moderado </li></ul><ul><li>Modifican la estructura </li></ul><ul><li>Error de redondeo </li></ul><ul><li>ITERATIVOS </li></ul><ul><li>x = Cx + d </li></ul><ul><li>x (k+1) = Cx (k) + d </li></ul><ul><li>Tamaño grande </li></ul><ul><li>Conservan los ceros </li></ul><ul><li>Error de truncamiento </li></ul>
    4. 4. Convergencia y número de operaciones <ul><li>Coste (para matrices densas) </li></ul><ul><ul><li>Directos: n 3 Iterativos: k.n 2 </li></ul></ul><ul><li>Convergencia </li></ul><ul><li>Criterio de parada: </li></ul>
    5. 5. Ecuación del Calor <ul><li>Sistema de ec. lin. </li></ul><ul><li>Matriz asociada </li></ul>T 0 T 1 T 2 . . . T n T n+1
    6. 6. Matriz de la Ecuación del Calor con MATLAB <ul><li>function A = mcalor1(n) </li></ul><ul><li>v = ones(1,n-1); </li></ul><ul><li>A = 2*eye(n) - diag(v,1) - diag(v,-1); </li></ul>
    7. 7. El método de Jacobi <ul><li>Sistema de ecuaciones lineales </li></ul>
    8. 8. Ecuación de punto fijo
    9. 9. Iteración de Jacobi
    10. 10. Expresión matricial Resolución con MATLAB <ul><li>U = triu(A,1); L = tril(A,-1); </li></ul><ul><li>d = diag(A); </li></ul><ul><li>x = (b-(L+U)*x)./d </li></ul>
    11. 11. Condición suficiente de convergencia <ul><li>Matriz estrictamente diagonalmente dominante : para i=1,2,...,n </li></ul><ul><li>Si A es estrictamente diagonalmente dominante , los iterados de Jacobi convergen a la solución del sistema partiendo de cualquier estimación inicial. </li></ul>
    12. 12. Iteración de Gauss-Seidel
    13. 13. Expresión matricial Resolución con MATLAB <ul><li>d = diag(A); D = diag(d); </li></ul><ul><li>U = triu(A,1); L = tril(A,-1); </li></ul><ul><li>x = (L + D)(b - U*x) </li></ul>
    14. 14. Método de sobrerrelajación x i k z i x i k+1 i k+1
    15. 15. Paso de sobrerrelajación
    16. 16. Expresión matricial Resolución con MATLAB <ul><li>D = diag(diag(A)); </li></ul><ul><li>c =  *b; C = (1-  ) *D -  *U </li></ul><ul><li>x = (  L + D)(c + C*x) </li></ul>
    17. 17. Condición suficiente de convergencia <ul><li>Matriz simétrica definida positiva : </li></ul><ul><li>A T = A, x T Ax > 0 </li></ul><ul><li>Si A es simétrica definida positiva y 0< w <2, los iterados de SR convergen a la única solución del sistema, partiendo de cualquier estimación inicial . </li></ul>
    18. 18. Ecuación del Calor en un rectángulo <ul><li>V C = (V N + V S + V E + V W )/4 </li></ul>C N E W S
    19. 19. Generación de la matriz con MATLAB <ul><li>function A = mcalor2(m,n) </li></ul><ul><li>p = m*n; </li></ul><ul><li>v = ones(1,p-1); </li></ul><ul><li>for k=n:n:p-1, v(k) = 0; end </li></ul><ul><li>w = ones(1,p-n); </li></ul><ul><li>A = 4*eye(p) ... </li></ul><ul><li> - diag(v,1) - diag(v,-1) ... - diag(w,n) - diag(w,-n); </li></ul>
    20. 20. Resumen <ul><li>Los métodos iterativos se aplican a matrices grandes y dispersas . </li></ul><ul><li>El coste por iteración es O(n 2 ) o menor si se aprovecha la dispersidad </li></ul><ul><li>Se espera que converjan en menos de n pasos. </li></ul><ul><li>La matriz ha de cumplir ciertas condiciones para que el método converja. </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×