{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 }{CSTYLE "" 26 258 "" 0 1 0 0 0 0 0 2 2 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 31 "M\351todos iterativos m \341s usuales " }{TEXT 258 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 16 "M\351todo de Jacobi" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 91 "En prim er lugar implementaremos el m\351todo de Jacobi para aproximar la solu ci\363n del sistema " }{XPPEDIT 18 0 "AX = b;" "6#/%#AXG%\"bG" }{TEXT -1 9 ", siendo " }{XPPEDIT 18 0 "A;" "6#%\"AG" }{TEXT -1 26 " la matri z del sistema y " }{XPPEDIT 18 0 "b;" "6#%\"bG" }{TEXT -1 19 " un vec tor fijo de " }{XPPEDIT 18 0 "R^n;" "6#)%\"RG%\"nG" }{TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "n:=5; # tama\361o del sistema" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "Definimos la matriz del sistema :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "with(linalg): #(necesario para obtener, por ejemplo, \+ el determinante de A)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 91 "A:=array([ [3,.1,1,0,1],[.2,-5,3,-1,0],[0,1,5,0,-2],[0,-1,.2,-4,1],[1,0,-1,0,-2.2 ]]);det(A);" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition fo r norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for tra ce" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7'7'\"\"$$\"\" \"!\"\"F,\"\"!F,7'$\"\"#F-!\"&F*F-F.7'F.F,\"\"&F.!\"#7'F.F-F0!\"%F,7'F ,F.F-F.$!#AF-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$!'?'p*!\"$" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "y \+ el vector de t\351rminos independientes:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "b:=[4.9,9.2,2,6.2,-2.2]; " } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "b[2]; A[2,2]; #(comprobamos alg \372n elemento)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG7'$\"#\\!\"\" $\"##*F(\"\"#$\"#iF($!#AF(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"##*! \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"&" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 122 "En lo que respecta al \+ m\351todo de Jacobi en s\355, definimos, en primer lugar, el n\372mero m\341ximo de iteraciones que admitiremos:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "M:=10;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"MG\"#5" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Ta mbi\351n definimos el punto (vector) inicial:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "X[1]:=[0,0,0,0,0]; \+ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"XG6#\"\"\"7'\"\"!F)F)F)F)" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "E n cada iteraci\363n, si el vector de partida es " }{XPPEDIT 18 0 "X[m] = [X[m,1] .. X[m, n]];" "6#/&%\"XG6#%\"mG7#;&F%6$F'\"\"\"&F%6$F'%\"nG " }{TEXT -1 18 " y el obtenido es " }{XPPEDIT 18 0 "X[m+1] = [X[m+1,1] .. X[m+1,n]];" "6#/&%\"XG6#,&%\"mG\"\"\"\"\"\"F)7#;&F%6$,&F(F)\"\"\"F )\"\"\"&F%6$,&F(F)\"\"\"F)%\"nG" }{TEXT -1 10 ", tenemos:" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "for m from 1 to M do #m indica la iteraci\363n en la que estamos" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "for i from 1 to n do #i indica la componente de \+ la iteraci\363n" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 66 "La siguiente funci\363n proporciona cada componente de la iteraci\363n " }{XPPEDIT 18 0 "m;" "6#%\"mG" }{TEXT -1 1 ":" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "g:= i->(1/A[i,i])*(b[i]-sum(A[i,k]*X[m][k],'k'=1..i-1)-sum(A[i,k]*X[m][k], 'k'=i+1..n));" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 "El siguiente vector es el de la iteraci\363n " }{XPPEDIT 18 0 "m+1;" "6#,&%\"mG\"\"\"\"\"\"F%" }{TEXT -1 2 " " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "X[m +1]:=vector(n,g);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "od; #cerramos \+ el bucle de las componentes de cada iteraci\363n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "od; #cerramos el bucle de iteraciones" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 68 "Por \372l timo, tenemos la soluci\363n encontrada despu\351s de finalizar las " }{XPPEDIT 18 0 "M;" "6#%\"MG" }{TEXT -1 14 " iteraciones: " }{MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {TEXT -1 54 "(La soluci\363n exacta, en est e caso, es (1,-1,1,-1,1).) " }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "solucion:=vecto r(1,X[M]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)solucionG-%'vectorG6# 7#-F&6#7'$\"+.Xu/5!\"*$!+1X@^**!#5$\"+!=nM%)*F1$!+\">s9,\"F.$\"+*4c\\# )*F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 118 "Como puede verse, han quedado algunos puntos por resolver. Se \+ propone completar la pr\341ctica de acuerdo a lo siguiente:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 174 "1) En este cas o, el m\351todo converge, lo que no ser\341 cierto para otros sistemas . Por otra parte, el \372nico criterio de parada implementado correspo nde al n\372mero de iteraciones " }{XPPEDIT 18 0 "M;" "6#%\"MG" } {TEXT -1 231 " efectuadas. Es posible que pueda o deba pararse antes, \+ bien porque se ha llegado ya a una soluci\363n aceptable, bien porque \+ el algoritmo no converge. Modificar el algoritmo anterior estableciend o los siguientes criterios de parada: " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 478 "a) Si de una iteraci\363n a otra no \+ existe una diferencia significativa, hay que plantearse la posibilidad de parar, pues es posible que la mejor\355a obtenida en el resto de i teraciones no compense el esfuerzo realizado a partir de aqu\355. Term inar cuando se obtengan resultados parecidos entre iteraciones consecu tivas \277C\363mo medir este parecido? \277Se aceptar\341 la soluci \363n aproximada obtenida? (Puede obtenerse una respuesta a partir de \+ cotas obtenidas en clase para el error cometido.)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "b) Tambi\351n es posible \+ que se logre una soluci\363n aproximada " }{TEXT 256 20 "aceptablement e buena" }{TEXT -1 52 ", y por ello se decida parar, antes de terminar las " }{XPPEDIT 18 0 "M;" "6#%\"MG" }{TEXT -1 134 " iteraciones. Esta bondad puede medirse del modo siguiente (dejando de lado aspectos rel ativos al condicionamiento del problema): Si " }{XPPEDIT 18 0 "X[apro x];" "6#&%\"XG6#%&aproxG" }{TEXT -1 38 " es la soluci\363n aproximada, tendremos " }{XPPEDIT 18 0 "A*X[aprox] = b[aprox];" "6#/*&%\"AG\"\"\" &%\"XG6#%&aproxGF&&%\"bG6#F*" }{TEXT -1 9 ", siendo " }{XPPEDIT 18 0 " b[aprox];" "6#&%\"bG6#%&aproxG" }{TEXT -1 31 " m\341s o menos pr\363xi mo al vector " }{XPPEDIT 18 0 "b;" "6#%\"bG" }{TEXT -1 110 " de t\351r minos independientes. Terminar cuando la distancia eucl\355dea entre \+ ambos vectores sea menor que cierto " }{XPPEDIT 18 0 "d[2];" "6#&%\"dG 6#\"\"#" }{TEXT -1 12 ", aceptando " }{XPPEDIT 18 0 "X[aprox];" "6#&% \"XG6#%&aproxG" }{TEXT -1 16 " como soluci\363n. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 278 "2) Variar los elementos \+ del problema (matriz, t\351rminos independientes, tama\361o del sistem a) y las condiciones de aplicaci\363n del algoritmo (punto inicial, n \372mero de iteraciones) \277Concuerdan los resultados obtenidos con l o estudiado en teor\355a acerca de la convergencia del m\351todo? " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 92 "3) Implem entar el m\351todo de Gauss- Seidel de forma parecida a lo hecho en el caso de Jacobi." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 12 "Gauss-Seidel" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "Comenzamos definiendo el tama \361o " }{XPPEDIT 18 0 "n;" "6#%\"nG" }{TEXT -1 24 " del sistema a res olver:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "n:=4; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG \"\"%" }}}{PARA 11 "" 1 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 102 "Como en el caso del m\351todo de Jacobi, definimos la ma triz del sistema (ahora lo hacemos de otro modo):" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "v0:=[7,1,0,0,0,6,0, 1,0,0,5,-1,0,0,0,3]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "A:=linalg[m atrix](n,n,v0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7 &7&\"\"(\"\"\"\"\"!F,7&F,\"\"'F,F+7&F,F,\"\"&!\"\"7&F,F,F,\"\"$" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "y \+ el vector de t\351rminos independientes:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "b:=[8,7,4,3]; " }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"bG7&\"\")\"\"(\"\"%\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Definimos el n\372mero m\341ximo de iteraciones: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " M:=10;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"MG\"#5" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "y el vector inicial:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "X[1]:=[0,0,0,0]; " }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"XG6#\"\"\"7&\"\"!F)F)F)" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "En cada iteraci\363n, si el vector de partida es " }{XPPEDIT 18 0 "X[m] \+ = [X[m,1] .. X[m,n]];" "6#/&%\"XG6#%\"mG7#;&F%6$F'\"\"\"&F%6$F'%\"nG" }{TEXT -1 18 " y el obtenido es " }{XPPEDIT 18 0 "X[m+1] = [X[m+1,1] . . X[m+1,n]];" "6#/&%\"XG6#,&%\"mG\"\"\"\"\"\"F)7#;&F%6$,&F(F)\"\"\"F) \"\"\"&F%6$,&F(F)\"\"\"F)%\"nG" }{TEXT -1 10 ", tenemos:" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "for m from 1 to M do #m indica la iteraci\363n en la que estamos" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "for i from 1 to n do #i indica la componente de \+ la iteraci\363n" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 66 "La siguiente funci\363n proporciona cada componente de la iteraci\363n " }{XPPEDIT 18 0 "m+1;" "6#,&%\"mG\"\"\"\"\"\"F%" } {TEXT -1 1 ":" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "Y[m]:=X[m]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "g:=i->(1/A[i,i])*(b[i]-sum(A[i,k]*Y[m][k],'k'=1..i-1) -sum(A[i,k]*X[m][k],'k'=i+1..n));" }}{PARA 0 "" 0 "" {TEXT -1 81 "(El \+ valor asignado por MAPLE a una suma sin sumandos es cero, lo que ocurr e para " }{TEXT 259 3 "i=1" }{TEXT -1 2 ".)" }}{PARA 0 "" 0 "" {TEXT -1 23 "Guardamos en un vector " }{XPPEDIT 18 0 "Y[m+1];" "6#&%\"YG6#,& %\"mG\"\"\"\"\"\"F(" }{TEXT -1 5 " las " }{XPPEDIT 18 0 "i-1;" "6#,&% \"iG\"\"\"\"\"\"!\"\"" }{TEXT -1 89 " primeras componentes de la nueva iteraci\363n, para usarlas en el c\341lculo de la componente " } {XPPEDIT 18 0 "i;" "6#%\"iG" }{TEXT -1 54 " de esta misma iteraci\363n . Esto lo hacemos a partir de " }{XPPEDIT 18 0 "i = 2;" "6#/%\"iG\"\"# " }{TEXT -1 76 ", pues en la primera componente \372nicamente se utili za la iteraci\363n anterior:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Y[m+1]:=vector(i-1,g); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "X[m+1]:=vector(n,g);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "od; #cerramos el bucle de las componentes de cada ite raci\363n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "od; #cerramos el bucle de iteraciones" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 68 "Por \372ltimo, tenem os la soluci\363n encontrada despu\351s de finalizar las " }{XPPEDIT 18 0 "M;" "6#%\"MG" }{TEXT -1 14 " iteraciones: " }{MPLTEXT 1 0 0 "" } }{PARA 0 "" 0 "" {TEXT -1 47 "(La soluci\363n exacta del problema es ( 1,1,1,1).)" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{MPLTEXT 1 0 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "solucion:=vector(1,X[M]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)solucionG-%'vectorG6#7#-F&6#7&\"\"\"F,F,F ," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 53 "Podemos simplificar los resultados en caso necesario:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "solucion:=ev alf(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)solucionG-%'vectorG6#7#- F&6#7&$\"\"\"\"\"!F,F,F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 257 27 "Para completar la pr\341ctica:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 289 "1) Analizar qu \351 ocurre cuando intentamos resolver un sistema al que no es aplicab le el m\351todo (por ejemplo, con alg\372n cero en la diagonal) o cuan do no es convergente. (Para esto \372ltimo, suele bastar un intercambi o de ecuaciones del sistema, como se ha visto en las explicaciones te \363ricas.)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 57 "2) Modificar el m\351todo de Gauss- Seidel con un m\351todo de \+ " }{XPPEDIT 18 0 "w;" "6#%\"wG" }{TEXT -1 39 "-relajaci\363n, para dis tintos valores de " }{XPPEDIT 18 0 "w;" "6#%\"wG" }{TEXT -1 88 ". Comp arar Gauss-Seidel con este nuevo m\351todo. Comparar tambi\351n con el m\351todo de Jacobi." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}}}}{MARK "2 \+ 11 5 4" 48 }{VIEWOPTS 1 1 0 1 1 1803 }