Pivoteo Parcial y Escalado

download Pivoteo Parcial y Escalado

of 38

Transcript of Pivoteo Parcial y Escalado

  • Apuntes de Calculo Numerico(Metodos Matematicos)

    ANTONIO RODRIGUEZLUIS SAINZ DE LOS TERREROS

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Contenido

    2. Calculo matricial 32.1. Sistemas de ecuaciones lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.1.1. Metodos exactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.2. Metodos aproximados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.2. Autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.2.1. Metodo de la potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • CAP ITULO 2

    Calculo matricial

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • 2.1. Sistemas de ecuaciones linealesLos unicos algoritmos exactos que emplearemos durante este curso seran algunos de

    los que se usan para resolver sistemas de ecuaciones lineales y que estudiaremos en laseccion 2.1.1. Por ser exactos estaran exentos de error de truncamiento, aunque sujetos alerror de redondeo al ser implementados en un ordenador. Tambien existen metodos apro-ximados de resolucion de sistemas lineales, que pueden ser mas eficaces que los primerosen algunos casos, aunque conlleven errores tanto de redondeo como de truncamiento. Losestudiaremos en la seccion 2.1.2.

    En cualquiera de los casos, nos restringiremos al estudio de sistemas de ecuacioneslineales compatibles determinados, de mayor interes en las aplicaciones, es decir, sistemasde la forma

    Ax = b (2.1)con A de tamano n n y detA 6= 0.

    2.1.1. Metodos exactosAlgoritmo de eliminacion de Gauss El algoritmo de eliminacion de Gauss es de sobraconocido del curso de Algebra Lineal. Aunque los calculos podran realizarse manual-

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • mente para sistemas de tamano grande se hace imprescindible el uso del ordenador. Comoveremos, el error de redondeo que ello conlleva nos obligara a introducir modificacionesen el algoritmo.

    En su version mas simple, el algoritmo de eliminacion de Gauss considera la matrizampliada (A|b) del sistema (2.1)

    a(1)11 a

    (1)12 . . . a

    (1)1n b

    (1)1

    a(1)21 a

    (1)22 . . . a

    (1)2n b

    (1)2

    .

    .

    .

    .

    .

    .

    .

    .

    .

    a(1)n1 a

    (1)n2 . . . a

    (1)nn b

    (1)n

    (2.2)(donde el superndice (1) indica que nos encontramos en la primera fase del algoritmo) y,suponiendo que sea a(1)11 6= 0, tomamos ese elemento como pivote y hacemos cerospordebajo de el. Para ello, modificaremos las filas de la matriz en la forma

    Fi Fi a(1)i1

    a(1)11

    F1, i = 2, . . . , n (2.3)

    donde llamaremos multiplicadores a los factores mi1 a(1)i1 /a(1)11 En el caso en que a(1)11 =Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • 0, al no estar definidos los multiplicadores, se busca la primera fila para la cual a(1)p1 6= 0 yse hace el cambio F1 Fp (a este intercambio de filas se le conoce como pivoteo), paradespues realizar las operaciones (2.3). Con todo esto, la matriz del sistema se transformaen

    a(1)11 a

    (1)12 . . . a

    (1)1n b

    (1)1

    0 a(2)22 . . . a

    (2)2n b

    (2)2

    .

    .

    .

    .

    .

    .

    .

    .

    .

    0 a(2)n2 . . . a

    (2)nn b

    (2)n

    (2.4)

    donde todos los elementos a partir de la segunda fila han cambiado (de ah el superndice(2)). En la siguiente etapa, se toma a(2)22 como pivote en la segunda columna, o se pivotasi a(2)22 = 0 (la condicion detA 6= 0 garantiza que podemos encontrar pivotes en todaslas columnas de la matriz), para despues realizar las operaciones Fi Fi mi2F2, conmi2 = a

    (2)i2 /a

    (2)22 , para i = 3, . . . , n, consiguiendo de esta forma ceros por debajo del

    segundo pivote.El proceso se repite n 1 veces hasta llegar a la matriz triangular superior

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • a(1)11 a

    (1)12 . . . a

    (1)1n b

    (1)1

    0 a(2)22 . . . a

    (2)2n b

    (2)2

    .

    .

    .

    ...

    .

    .

    .

    0 0 . . . a(n)nn b

    (n)n

    (2.5)que se corresponde con el sistema de ecuaciones

    a(1)11 x1 + a

    (1)12 x2 + + a(1)1n1xn1 + a(1)1nxn = b(1)1a(2)22 x2 + + a(2)2n1xn1 + a(2)2nxn = b(2)2

    .

    .

    .

    a(n1)n1n1xn1 + a

    (n1)n1nxn = b

    (n1)n

    a(n)nnxn = b

    (n)n

    (2.6)

    equivalente al sistema inicial (de igual solucion) y que puede ser resuelto por sustitucionregresiva (segunda etapa del metodo de eliminacion de Gauss despues de la triangula-cion): de la ultima ecuacion de (2.6) se despeja xn = b(n)n /a(n)nn , que se introduce en lapenultima ecuacion para obtener xn1 y as sucesivamente.

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Se puede comprobar que el numero de operaciones aritmeticas elementales que serealizan siguiendo el metodo de eliminacion de Gauss en un sistema n n es O(n3).1Este metodo para resolver sistemas de ecuaciones es mucho mas efectivo que otros comoel metodo de Kramer o el calculo de la matriz inversa (para hacer x0 = A1b) queinvolucran un numero mucho mayor de operaciones.Pivoteo parcial Sin embargo, el algoritmo de eliminacion de Gauss expuesto anterior-mente no tiene en cuenta los errores de redondeo que se producen al realizar ciertas ope-raciones como la division entre numeros pequenos. En particular, al calcular los multipli-cadores mij = a(j)ij /a

    (j)jj , se produce un error de redondeo considerable, que se arrastra en

    las operaciones siguientes, si el pivote a(j)jj ' 0. Veamoslo en el siguiente ejemplo.Ejemplo. Considerese el siguiente sistema de ecuaciones:[

    0.003x1 + 59.14x2 = 59.175.291x1 6.130x2 = 46.78 (2.7)

    cuya unica solucion es x1 = 10, x2 = 1. Esta puede obtenerse realizando las operacionesdel metodo de eliminacion de Gauss considerando el elemento a11 = 0.003 como pivote

    1Se dice que una funcion f(n) es del orden de np cuando n y se escribe f(n) = O(np) si existenC y n0 tales que |f(n)| 6 Cnp n > n0.

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • y haciendo el cambio F2 F2 m21F1, donde m21 = 5.291/0.003 = 1763.6, la matrizampliada del sistema resulta(

    0.003 59.14 59.17104309.376 104309.376

    )(2.8)

    de donde por sustitucion regresiva se obtiene la solucion exacta x1 = 10, x2 = 1. Supon-gamos ahora que el ordenador trabajara solo con 4 cifras significativas. De esta forma, elmultiplicador se aproximara como m21 ' 1763. Tras multiplicarlo por la fila primera yrestar el resultado a la segunda en aritmetica de 4 dgitos la nueva matriz ampliada resulta(

    0.003 59.14 59.17104300 104400

    )(2.9)

    de donde, por sustitucion regresiva y en aritmetica de 4 dgitos se obtiene la solucionerronea

    x1 = 10, x2 = 1.001completamente alejada de la solucion exacta.

    Para evitar este problema se utiliza el llamado metodo de pivoteo parcial, cuya finali-dad es escoger pivotes lo mas grandes posible. Para ello, en la fase k-esima del proceso de

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • eliminacion de Gauss, en lugar de escoger como pivote el elemento a(k)kk , se compara estepreviamente con el resto de los elementos situados por debajo de el en su misma columnay se escoge el de mayor magnitud, es decir, se halla p > k tal que

    |a(k)pk | = maxk6i6n

    |a(k)ik |

    y despues se hace el cambio Fk Fp.Ejemplo. Consideremos de nuevo el sistema del ejemplo 2.1.1 y apliquemosle el metodode eliminacion de Gauss con pivoteo parcial. Al escoger el pivote para la primera columnapreviamente comparamos

    a11 = 0.003 < 5.291 = a21

    por lo que hacemos el cambio F1 F2 obteniendo por tanto la matriz ampliada(5.291 6.130 46.780.003 59.14 59.17

    )(2.10)

    que, utilizando el nuevo multiplicador m21 = 0.000567, y en aritmetica de 4 dgitos, setransforma en (

    5.291 6.130 46.7859.14 59.14

    )(2.11)

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • de donde se obtiene la solucion exacta x1 = 10, x2 = 1. Ademas de este metodo existe el llamado pivoteo total en el que no solo se inter-

    cambian filas sino tambien columnas (y por tanto incognitas) para encontrar el pivote demayor tamano, aunque ello obliga a guardar memoria de los intercambios realizados entrelas incognitas para despues deshacerlos.

    Pivoteo parcial escalado Sin embargo, tambien el pivoteo parcial nos puede llevar aerrores drasticos, como veremos en el siguiente ejemplo.Ejemplo. Consideremos nuevamente el sistema (2.7) y multipliquemos su primera ecua-cion por 104. El nuevo sistema[

    30.00x1 + 591400x2 = 5917005.291x1 6.130x2 = 46.78 (2.12)

    tendra la misma solucion que el antiguo. Sin embargo, al aplicar el pivoteo parcial, al sera11 = 30 > 5.291 = a21 se utilizara el elemento a11 como pivote junto con el multi-plicador m21 = 5.291/30.00 ' 0.1764, lo que, en aritmetica de 4 dgitos nos conducefinalmente a la matriz (

    30.00 591400 591700104300 104400

    )(2.13)

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • que nos lleva nuevamente al resultado erroneo x1 = 10, x2 = 1.001. Para resolver este problema el metodo de pivoteo parcial escalado escala previamen-

    te todas las filas de la matriz asociada dividiendo todos sus elementos por el de ma-yor magnitud antes de realizar la comparacion que ahora se efectua entre magnitudesrelativas para escoger el pivote. Es decir, para cada fila se define previamente

    si = maxj=1,...,n

    |aij|

    de modo que, para determinar por ejemplo el pivote correspondiente a la primera columnase tomara |ap1|

    sp= max

    i=1,...,n

    |ai1|si

    y se hara el cambio F1 Fp. El escalado se utiliza solo para comparar. El pivote a utilizarsera ap1 y no ap1/sp para evitar el error de redondeo producido en la division.Ejemplo. Si finalmente utilizamos pivoteo parcial escalado para resolver el sistema (2.12),primero calculamos

    |a11|s1

    =30.00

    591400= 0.5073 104 < |a21|

    s2=

    5.291

    6.130= 0.8631

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • lo que nos lleva a realizar el cambio F1 F2 y a considerar el sistema[5.291x1 6.130x2 = 46.78

    30.00x1 + 591400x2 = 591700(2.14)

    que, tras resolver en aritmetica de 4 dgitos nos conduce al resultado correcto x1 = 10,x2 = 1.

    Sistemas mal condicionados Por ultimo, conviene llamar la atencion sobre un tipo deproblema que se da con frecuencia en el Calculo Numerico y en particular en la resolucionde sistemas de ecuaciones. Se dice que un problema esta mal condicionado cuando unapequena modificacion en los datos produce variaciones drasticas en los resultados. Estoes as para ciertos sistemas de ecuaciones, como veremos en el siguiente ejemplo.Ejemplo. Considerense los sistemas de ecuaciones

    S1 [

    x1 + 2x2 = 101.1x1 + 2x2 = 10.4

    , S2 [

    x1 + 2x2 = 101.05x1 + 2x2 = 10.4

    (2.15)

    cuyas soluciones son x1 = (4, 3)t para S1 y x2 = (8, 1)t para S2. Se observa que, aunquela matriz del sistema se ha modificado solo ligeramente, la solucion ha cambiado mucho.

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Por otro lado, si introducimos la solucion de S2 en S1 obtenemos

    8 + 2 1 = 101.1 8 + 2 1 = 10.8 ' 10.4 (2.16)

    con lo que valores muy alejados de la solucion satisfacen de manera aproximada el siste-ma S1. Algo similar ocurre al introducir la solucion de S1 en S2

    Podemos, por tanto, interpretar los sistemas mal condicionados como aquellos queson satisfechos de forma aproximada por un rango amplio de soluciones. Aunque noentraremos en detalle en este tipo de sistemas, es claro que los sistemas del ejemploanterior estaban muy proximos a ser compatibles indeterminados (el determinante de lamatriz asociada en ambos sistemas es proximo a 0). Ya que al representar graficamentecada una de las ecuaciones en el plano se obtienen rectas casi paralelas, es difcil encontrarsu punto de interseccion (que se corresponde con la solucion del sistema).

    Descomposicion LU La descomposicion LU de una matriz es una estrategia para apro-vechar las operaciones realizadas sobre la matriz asociada de un sistema Ax = b porel metodo de eliminacion de Gauss y utilizarla para resolver distintos sistemas con igualmatriz asociada y diferentes entradas b.

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • Como se recordara del curso de Algebra Lineal las operaciones realizadas en la matrizA del sistema durante el metodo de eliminacion de Gauss pueden implementarse medianteel producto matricial por las llamadas matrices elementales. Estas provienen de realizarsobre la matriz identidad las mismas operaciones que se desean realizar sobre A. Enparticular, para conseguir ceros del debajo del pivote en el paso k-esimo del metodo deeliminacion de Gauss, bastara con premultiplicar la matriz A(k) del sistema en dicho pasopor la matriz

    M (k) =

    1 0 00

    ...

    ...

    .

    .

    .

    .

    .

    .

    ...

    ...

    ...

    .

    .

    .

    .

    .

    . mk+1,k . . . . . . ...

    .

    .

    .

    .

    .

    . 0...

    ...

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    ...

    ... 0

    0 mn,k 0 0 1

    (2.17)

    que continene en la columna k por debajo del pivote los multiplicadores usados parahacer ceros por debajo del mismo en las ecuaciones posteriores. Despues de multiplicarla matriz A por la sucesion de matrices M (1),M (2), . . . ,M (n1), obtenemos la matriz

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • asociada del sistema en forma triangular (ver (2.5)), a la que llamaremos U :

    M (n1) M (2)M (1)A =

    a(1)11 a

    (1)12 . . . a

    (1)1n

    0 a(2)22 . . . a

    (2)2n

    .

    .

    .

    ...

    0 0 . . . a(n)nn

    U (2.18)Podemos despejarA en la ecuacion (2.18) multiplicando por la izquierda a ambos lados dela ecuacion por (M (n1) M (2)M (1))1 = (M (1))1(M (2))1 (M (n1))1. Es facilcomprobar que (M (k))1 es como la matriz dada en (2.17) pero cambiando el signo a losmultiplicadores, por lo que finalmente obtenemos

    (M (1))1(M (2))1 (M (n1))1 =

    1 0 0m21 1 0 0

    .

    .

    .

    .

    .

    .

    ...

    .

    .

    .

    .

    .

    .

    .

    .

    .

    ...

    .

    .

    .

    mn1 mn2 mn1n 1

    L (2.19)de modo que finalmente llegamos a la factorizacion

    A = LU (2.20)Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • donde L es triangular inferior con unos en la diagonal y U es triangular superior y vienendadas en (2.19) y (2.18) respectivamente.

    De esta forma, podemos reexpresar el sistema de ecuaciones segun:

    Ax = LUx = b (2.21)de modo que, haciendo el cambio

    Ux = y (2.22)obtenemos el sistema

    Ly = b (2.23)Una vez resuelto el sistema (2.23) para y, introducimos el resultado en el sistema

    (2.22), cuya solucion es x. De esta forma, hemos trasladado la dificultad de la resoluciondel sistema (2.21) a la resolucion de los sistemas (2.23) y (2.22), mas sencillos, ya quesus matrices asociadas son triangulares. El sistema (2.23) se resolvera por sustitucionhacia delante y el sistema (2.22) por sustitucion hacia atras(regresiva). El numero deoperaciones a realizar en cada uno de ellos es O(n2), por lo que este metodo es venta-joso frente al de eliminacion de Gauss (O(n3)). Ahora bien, previamente hay que haberobtenido la descomposicion A = LU , la cual es equivalente a la eliminacion gaussiana.Donde esta entonces la ventaja?Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Durante el metodo de eliminacion de Gauss el ordenador puede aprovechar las posi-ciones de memoria guardadas para los elementos de A por debajo de la diagonal quese van a convertir en ceros durante el proceso de eliminacion y almacenar en ellas losrespectivos multiplicadores. Una vez calculadas L y U una sola vez, pueden ser utilizadaspara resolver sistemas Ax = b para diferentes entradas b.Ejemplo. Resolver el siguiente sistema de ecuaciones realizando previamente la factori-zacion LU de su matriz asociada.

    x1 + x2 + 3x4 = 42x1 + x2 x3 + x4 = 13x1 x2 x3 + 2x4 = 3x1 + 2x2 + 3x3 x4 = 4

    Considerando el elemento a(1)11 = 1 de A(1) como pivote y haciendo los cambios F2 F2 2F1, F3 F3 3F1 y F4 F4 + F1 obtenemos A(2):

    A(1) =

    1 1 0 32 1 1 13 1 1 2

    1 2 3 1

    ; A(2) =

    1 1 0 30 1 1 50 4 1 70 3 3 2

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • Si despues tomamos a(2)22 = 1 como pivote y hacemos los cambios F3 F3 4F2,F4 + 3F1 obtenemos A(3). El tercer pivote sera a(3)33 = 3, pero no es preciso hacer ceroscon el ya que directamente hemos obtenido a(3)43 = 0.

    A(3) = A(4) =

    1 1 0 30 1 1 50 0 3 130 0 0 13

    U

    Los multiplicadores han sido m21 = 2, m31 = 3, m41 = 1, m32 = 4, m42 = 3 ym43 = 0, por lo que obtenemos

    L =

    1 0 0 02 1 0 03 4 1 0

    1 3 0 1

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • El sistema Ly = b resulta y1 = 82y1 + y2 = 73y1 + 4y2 + y3 = 14y1 3y2 + y4 = 7

    cuya solucion es (y1, y2, y3, y4) = (8,9, 26,26), que introducimos como termino in-dependiente del sistema Ux = y

    x1 + x2 + 3x4 = 8x2 x3 5x4 = 9

    3x3 + 13x4 = 2613x4 = 26

    cuya solucion es (x1, x2, x3, x4) = (2, 0,1, 3). Ahora bien, no toda matriz A admite una descomposicion LU . En el calculo de las

    matrices L y U expuesto arriba hemos supuesto que las unicas operaciones elementalesrealizadas sobre la matriz de coeficientes del sistema han sido manipulaciones con lasfilas del tipo Fi Fi mikFk. Ahora bien, cuando durante el proceso de eliminacionMetodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • de Gauss se anula algun elemento de la diagonal, a(k)kk = 0, es preciso pivotar, es decir,intercambiar filas, operacion que no hemos contemplado al obtener la expresion para L.Solamente aquellas matrices regulares para las que no es necesario pivotar durante elmetodo de eliminacion de Gauss admiten una factorizacion LU . Tendremos que buscarcondiciones bajo las cuales una matriz admita dicha descomposicion. Para ello veamospreviamente la siguiente definicion.

    Definicion.matriz diagonal dominante. Se dice que una matriz cuadrada A = (aij) de orden nes estrictamente diagonal dominante si:

    |aii| >j 6=i

    |aij |; i = 1, . . . , n

    Es decir, una matriz estrictamente diagonal dominante es aquella en la que en cadafila el valor absoluto del elemento correspondiente a la diagonal supera a la suma de losvalores absolutos del resto de los elementos de la fila. Estas matrices poseen propiedadesmuy importantes, entre ellas, las que se enuncian en el siguiente teorema.

    Teorema 2.1.1. Si una matriz A es estrictamente diagonal dominante, entonces

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • A es no singular.

    Se pueden aplicar en A las operaciones del metodo de eliminacion de Gauss sinintercambio de filas.

    Hemos encontrado, pues, una condicion suficiente para que una matriz A admita unafactorizacion LU . Basta con que sea estrictamente diagonal dominante.

    2.1.2. Metodos aproximados

    Veremos ahora un par de metodos iterativos aproximados de resolucion de sistemas deecuaciones lineales que, por tanto, s estan sujetos a errores de truncamiento. Ambos soneficientes para sistemas grandes con matrices con un elevado numero de ceros. Dichossistemas aparecen con frecuencia en problemas de resolucion de ecuaciones diferencialesen derivadas parciales.

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • Metodo iterativo de Jacobi Considerese el sistema de ecuacionesa11x1 + a12x2 + + a1nxn = b1a21x1 + a22x2 + + a2nxn = b2

    .

    .

    .

    an1x1 + an2x2 + + annxn = bn(2.24)

    donde, supuesto que aii 6= 0 i podemos despejar de cada ecuacion la incognita corres-pondiente

    x1 = (b1 a12x2 a1nxn)/a11x2 = (b2 a22x1 a2nxn)/a22

    .

    .

    .

    xn = (bn an1x1 annxn)/ann(2.25)

    De esta forma, al estar las incognitas despejadas, el problema parecera estar resuelto,aunque no es as, ya que las incognitas tambien estan presentes a la derecha del igual encada ecuacion en (2.25). Sin embargo, podramos introducir una primera solucion apro-ximada x(0) (x(0)1 , x(0)2 , . . . , x(0)n )t a la derecha del igual en (2.25) que producira unasolucion x(1) (x(1)1 , x(1)2 , . . . , x(1)n )t a la izquierda. Posteriormente, podramos introducirCalculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • x(1) como entrada para obtener x(2), y as sucesivamente, produciendo el proceso iterativox(k+1)1 = (b1 a12x(k)2 a1nx(k)n )/a11x(k+1)2 = (b2 a21x(k)1 a2nx(k)n )/a22

    .

    .

    .

    x(k+1)n = (bn an1x(k)1 an,n1x(k)n1)/ann

    (2.26)

    Podemos reexpresar matricialmente el proceso (2.26) reescribiendo la matriz del sistemacomo A = TI +D + TS , donde D = diag(a11, a22, . . . , ann), y

    TI =

    0 0a21

    ...

    .

    .

    .

    .

    .

    .

    ...

    ...

    .

    .

    .

    an1 ann1 0

    , TS =

    0 a12 a1n.

    .

    .

    ...

    ...

    .

    .

    .

    .

    .

    .

    ... an1n

    0 0

    De esta forma, la ecuacion (2.26) podra expresarse como x(k+1) = D1(b (TI +TS)x

    (k)) que, haciendo TJ D1(TI + TS) y cJ D1b resultax(k+1) = TJx

    (k) + cJ (2.27)Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • El proceso iterativo formalmente definido en (2.27) es el que utilizaremos para obtenersucesivas soluciones aproximadas del sistema (2.24). Estamos dando por supuesto que lasucesion [x(n)]n=0 es convergente y que converge a la solucion x de (2.24).2 Mas adelanteveremos condiciones suficientes que garantizan cuando esto es as.

    Una vez supuesta la convergencia, hemos de introducir un criterio de paro para elalgoritmo (2.27). Este puede consistir en fijar una toleracia TOL al comienzo del problemay parar las iteraciones cuando el error relativo este por debajo de ella, es decir, parar enun N tal que

    ||x(N) x(N1)||||x(N)|| < TOL

    Ejemplo. Aplicar el metodo de Jacobi para resolver el sistema:10x1 x2 + 2x3 = 6x1 + 11x2 x3 + 3x4 = 252x1 x2 + 10x3 x4 = 11

    3x2 x3 + 8x4 = 15(2.28)

    2Por definicion, decimos que lmn x(n) = x si > 0 N() tal que ||x(n) x|| < para todon > N .

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • cuya solucion unica es x = (1, 2,1, 1)t, a partir de la aproximacion inicial x(0) =(0, 0, 0, 0)t y con una tolerancia TOL = 5 104.

    Las ecuaciones del proceso iterativo son

    x(k+1)1 =

    1

    10x(k)2

    1

    5x(k)3 +

    3

    5

    x(k+1)2 =

    1

    11x(k)1 +

    1

    11x(k)3

    3

    11x(k)4 +

    25

    11

    x(k+1)3 =

    1

    5x(k)1 +

    1

    10x(k)2 +

    1

    10x(k)4

    11

    10

    x(k+1)4 =

    3

    8x(k)2 +

    1

    8x(k)3 +

    15

    8

    y producen el resultado:

    k 0 1 2 3 4 5 6 7 8 9 10x(k)1 0 0.6000 1.0473 0.9326 1.0152 0.9890 1.0032 0.9981 1.0006 0.9997 1.0001

    x(k)2 0 2.2727 1.7159 2.0530 1.9537 2.0114 1.9922 2.0023 1.9987 2.0004 1.9998

    x(k)3 0 -1.1000 -0.8052 -1.0493 -0.9681 -1.0103 -0.9945 -1.0020 -0.9990 -1.0004 -0.9998

    x(k)4 0 1.8750 0.8852 1.1309 0.9739 1.0214 0.9944 1.0036 0.9989 1.0006 0.9998

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • donde hemos parado la iteracion en k = 10 al ser

    ||x(10) x(9)||||x(10)|| = 0.327 10

    4 < TOL

    Metodo iterativo de Gauss-Seidel El metodo de Gauss-Seidel supone una aparentemejora del metodo de Jacobi ya que no espera al final de cada iteracion para actualizarel valor de las variables ya calculadas. En este metodo, una vez introducidos los valores(x

    (0)1 , x

    (0)2 , . . . , x

    (0)n ) en la primera de las ecuaciones (2.26), y obtenido el valor de x(1)1 ,

    introduciremos dicho dicho valor junto con x(0)2 , . . . , x(0)n en la segunda ecuacion para ob-tener x(1)2 . A su vez, en la tercera ecuacion introducimos x

    (1)1 y x

    (1)2 junto con x(0)3 , . . . , x(0)n

    para obtener x(1)3 y as sucesivamente. El proceso puede ser reexpresado ahora a partir de

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • (2.26) como

    a11x

    (k+1)1 = b1 a12x(k)2 a1nx(k)n

    a21x(k+1)1 + a22x

    (k+1)2 = b2 a23x(k)3 a2nx(k)n

    .

    .

    .

    an1x(k+1)1 + + an,n1x(k+1)n1 + annx(k+1)n = bn

    (2.29)o, equivalentemente: (TI +D)x(k+1) = b TSx(k), de donde haciendo TGS (TI +D)1TS y cGS (TI +D)1b resulta

    x(k+1) = TGSx(k) + cGS (2.30)

    Ejemplo. Ahora resolveremos el sistema (2.28) por el metodo de Gauss-Seidel. En estecaso, las ecuaciones del proceso iterativo son

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • x(k+1)1 =

    1

    10x(k)2

    1

    5x(k)3 +

    3

    5

    x(k+1)2 =

    1

    11x(k+1)1 +

    1

    11x(k)3

    3

    11x(k)4 +

    25

    11

    x(k+1)3 =

    1

    5x(k+1)1 +

    1

    10x(k+1)2 +

    1

    10x(k)4

    11

    10

    x(k+1)4 =

    3

    8x(k+1)2 +

    1

    8x(k+1)3 +

    15

    8

    y producen el resultado:

    k 0 1 2 3 4 5x(k)1 0 0.6000 1.0302 1.0066 1.0009 1.0001x(k)2 0 2.3273 2.0369 2.0036 2.0003 2.000x(k)3 0 -0.9873 -1.0145 -1.0025 -1.0003 -1.000x(k)4 0 0.8789 0.9843 0.9984 0.9998 1.000

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • donde hemos parado la iteracion en k = 5 al ser

    ||x(5) x(4)||||x(5)|| = 2.09 10

    4 < TOL

    Convergencia de los metodos iterativos La comparacion entre los ejemplos de Jaco-bi (subseccion:2.1.2) y Gauss-Seidel (subseccion: 2.1.2), podra hacernos pensar que elmetodo de iterativo de Gauss-Seidel es mejor que el de Jacobi para resolver sistemas deecuaciones, ya que aquel convergio mucho mas rapidamente que este. Sin embargo, estono es siempre as. Hay casos en que el metodo de Jacobi converge mas rapidamente, otambien en que uno de los dos metodos converge y el otro no.

    Veamos primeramente una condicion suficiente para que los metodos iterativos con-verjan.Teorema 2.1.2. Si A es estrictamente diagonal dominante, entonces con cualquier elec-cion de x(0) tanto el metodo de Jacobi como el de Gauss-Seidel generan sucesiones[x(k)]k=0 que convergen a la solucion unica del sistema Ax = b.

    Observese que la matriz asociada del sistema de los ejemplos 2.1.2 y 2.1.2 es estric-tamente diagonal dominante, aunque esta condicion es suficiente. Puede haber sistemas

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • con matrices que no sean estrictamente diagonal dominantes y que den lugar a esquemasiterativos convergentes.

    Para intentar distinguir entre las propiedades de convergencia de ambos metodos, in-troduciremos previamente la siguiente definicion.

    Definicion.Radio espectral. El radio espectral (A) de una matriz A de autovalores 1, . . . , pse define como

    (A) = max16i6p

    |i|

    Pues bien, aunque no entraremos en detalle en este punto, puede comprobarse que unaestimacion para el error absoluto en el paso k del proceso iterativo x(k+1) = Tx(k) + cviene dada por

    ||x(k) x|| ' (T )k||x(0) x|| (2.31)

    es decir, la propagacion del error inicial depende del radio espectral. Si queremos que elproceso converja, este tendra que ser (T ) < 1. El metodo Jacobi o Gauss-Seidelque mas rapidamente convergera en cada caso particular sera aquel cuya matriz asociadatenga un menor radio espectral.

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Refinamiento iterativo Independientemente del metodo exacto o iterativo que uti-licemos para resolver numericamente un sistema de ecuaciones Ax = b, la solucion xque obtendremos sera aproximada, de tal forma que no resolvera exactamente el sistemasino que al introducirla en el mismo, obtendremos Ax b 6= 0. Llamaremos vector re-sidual a la diferencia r = b Ax (este vector tendra que calcularse en precision dobleya que de otro modo obtendramos r = 0). Es claro que la diferencia y = x x entre lasolucion exacta y la aproximada satisface

    Ay = r (2.32)

    La solucion del sistema (2.32) que tendra que obtenerse en precision doble nospermite mejorar la solucion x para sustituirla por x + y. Este es el llamado metodo derefinamiento iterativo.

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • 2.2. AutovaloresEl calculo de autovalores y autovectores de matrices esta presente en multiples aplica-

    ciones a la ingerniera, desde el estudio de las vibraciones de una viga al de la estabilidadde un aeroplano. Son muchos los metodos numericos exactos y aproximados desa-rrollados con el fin de diagonalizar matrices. Nosotros nos limitaremos al estudio de unode ellos, dirigido a obtener un autovalor (y su autovector asociado) de particular impor-tancia en las aplicaciones, el que tiene mayor magnitud, al que llamaremos valor propiodominante.

    2.2.1. Metodo de la potencia

    Consideraremos una matrizA diagonalizable con n autovalores distintos 1, 2, . . . , ntales que |1| > |2| > . . . > |n|. Cada valor propio i tiene asociado un vector propiovi tal que Avi = ivi para i = 1, . . . , n. El sistema [v1,v2, . . . ,vn] formara una base deRn de modo que cualquier vector x Rn podra escribirse como una combinacion linealde los autovectores

    x = 1v1 + 2v2 + + nvn (2.33)Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Multiplicando por A a ambos lados de la igualdad (2.33) obtenemos

    Ax = 11v1 + 22v2 + + nnvn (2.34)

    y si repetimos la operacion k veces resulta:

    Akx = 1k1v1 + 2

    k2v2 + + nknvn (2.35)

    Podemos reescribir la ecuacion (2.35) en la forma

    Akx = k1(1v1 + 2k2k1v2 + + n

    kn

    k1vn) (2.36)

    donde es claro que, al ser 1 el autovalor dominante, siempre y cuando 1 6= 0 el resto delos terminos seran despreciables frente al primero en la ecuacion (2.36) para valores altosde k.

    Lo anterior nos da la idea para definir la siguiente iteracion. Escogemos un vector x(0)aleatorio con ||x(0)|| = 1 y formamos la sucesion:

    y(k+1) = Ax(k), x(k+1) =y(k+1)

    ||y(k+1)|| (2.37)

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • Por lo expuesto arriba es claro que [x(k)]k=0 forma una sucesion de vectores unitarios talque

    lmk

    x(k) = v1

    Por tanto, consideraremos x(k) como la aproximacion al autovector dominante v1 en elpaso k. En dicho paso, tomaremos como aproximacion al autovalor dominante

    (k) = x(k) Ax(k)

    ya que x(k) Ax(k) 1x(k) x(k) = 1||x(k)||2 = 1.Ejemplo. Utilizar el metodo de la potencia para calcular el autovalor dominante y elcorrespondiente autovector para la matriz

    A =

    4 14 04 13 01 0 2

    utilizando la aproximacion inicial x(0) = (1/

    3, 1/

    3, 1/

    3)t y una tolerancia TOL =

    103. El resultado exacto es: 1 = 6 y

    v1 =11233

    (28, 20,7) (0.797400, 0.569572,0.199350)

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • El resultado del proceso iterativo (2.37) para este caso es:

    k (k) x(k)1 x

    (k)2 x

    (k)3

    1 6.933334 0.778499 0.622799 0.0778502 6.475747 0.796858 0.597644 -0.0885403 6.230470 0.798244 0.583332 -0.1500974 6.112702 0.797990 0.576326 -0.1762375 6.055632 0.797721 0.572909 -0.1881946 6.027620 0.797564 0.571228 -0.1938847 6.013756 0.797482 0.570396 -0.1966498 6.006863 0.797441 0.569983 -0.1980099 6.003428 0.797420 0.569777 -0.198683

    donde hemos parado el proceso en k = 9 ya que

    ||x(9) x(8)|| = 7.04 104 < TOL

    Metodo de la potencia inversa Podemos modificar el metodo de la potencia expuestoanteriormente para encontrar el autovalor de A mas cercano a un cierto numero q. Este

    Metodos Matematicos Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

  • metodo se basa en que si q 6= i para i = 1, . . . , n, los autovalores de la matriz (AqI)1son

    1

    1 q ,1

    2 q , ,1

    n qSi suponemos que 1 es el autovalor mas cercano a q y hacemos actuar (A qI)1 sobrela expresion (2.33) obtenemos

    (A qI)kx = 1(1 q)k (1v1 + 2

    (1 q)k(2 q)kv2 + + n

    (1 q)k(n q)kvn)

    donde, nuevamente, los ultimos terminos son despreciables frente al primero a condicionde que 1 6= 0. En el proceso iterativo ahora habra que plantear la ecuacion

    y(k+1) = (A qI)1x(k) (2.38)

    que nos obligara en cada paso a resolver el sistema de ecuaciones

    x(k) = (A qI)y(k+1) (2.39)

    por alguno de los metodos discutidos en la seccion 2.1.

    Calculo Numerico Contenido Prim Ult Ant Sig Volver Cerrar Abandonar

  • Indice de figuras

    INDICE DE FIGURAS Contenido Prim Ultim Ant Sig Volver Cerrar Abandonar

    Clculo matricialSistemas de ecuaciones linealesMtodos exactosMtodos aproximados

    AutovaloresMtodo de la potencia