practca4srnb Apelldos Nombre: Práctca 4ª: RESOLUCIÓN DE SISTEMAS LINEALES METODOS ITERATIVOS Normas vectorales normas matrcales Número de condcón de una matr Cuando se construe una sucesón de vectores aproxmacón de la solucón de un sstema lneal, para estudar la convergenca nteresa medr la dstanca entre las dos últmas aproxmacones, para medr esta dstanca es necesaro utlar el concepto de norma de un vector Tanto en el estudo del condconamento de un sstema de ecuacones lneales cuando se resuelve medante métodos drectos, como en el estudo de la convergenca de los métodos teratvos para la resolucón de sstemas lneales, es necesaro el concepto de norma de una matren la versón 4 de Mathematca, dentro del paquete <<LnearAlgebra MatrxManpulatons, los comandos Vector- Norm MatrxNorm permten obtener normas vectorales matrcalesel comando VectorNorm requere que el argumento sea un vector de números aproxmados (con decmal o dados por N[]) En la versón 5 de Mathematca no es necesaro cargar nngún paquete El comando Norm proporcona, por defecto, la norma euclídea de un vector o de una matr Por otra parte, algunos sstemas son mu sensbles a los errores de redondeo el vector solucón puede ser bastante nexacto En este caso se dce que el sstema es nestable o que está mal condconado En este tpo de sstemas lo que suele ocurrr es que pequeños cambos en los coefcentes o en los térmnos ndependentes dan lugar a cambos aprecables en la solucón El número de condcón de una matr A se defne como : K(A) =»»A»»»»A -»» srve para tener una medda del condconamento de una matr Dentro del msmo paquete <<LnearAlgebra - MatrxManpulatons, el comando MatrxCondtonNumber permte obtener el número de condcón de una matr Por defecto proporcona la norma del máxmo Eemplo º- 6 5 5 Sea el vector b = 7, la matr : A = 4 56 78 Hallar las tres normas vectorales 8 8 54 47 de b: b, b b Idem para la matr A para su nversa Calcular el número de condcón de la matr utlando la norma del máxmo A =,-5,5}, 4,56,-78},-8,-54,47}};MatrxForm[A] b = 8 6, 7, 8<; MatrxForm@bD Norm@b, D
practca4srnb Norm@b, D Abs@b@@DDD = Norm@b, D $%%%%%%%%%%%%%%%%%%%%%%%% b@@dd = Norm@AD Max@Egenvalues@ATranspose@ADDD ^5 Norm@A, D MaxA9 Abs@A@@, DDD, Abs@A@@, DDD, Abs@A@@, DDD=E = = = Norm@A, D MaxA9 Abs@A@@, DDD, Abs@A@@, DDD, Abs@A@@, DDD=E = = = Norm@Inverse@ADD Norm@Inverse@AD, D Norm@Inverse@AD, D << LnearAlgebra`MatrxManpulaton` m = MatrxCondtonNumber@AD
practca4srnb LUDecomposton@AD Eemplo º- Sea el sstema A x = b, sendo A b la matr vector respectvamente del eemplo anteror Sea x = la solucón exacta x è 88 = 4 la solucón aproxmada Calcular el error relatvo el resduo relatvo comprobar que el error relatvo está acotado superormente por el producto del resduo relatvo por el nº de condcón de la 66 matr, e nferormente por el cocente del resduo relatvo entre el nº de condcón de la matr xe = 8,, <; xa= 888, 4, 66<; e = xe xa; errorel = Norm@eDêNorm@xeD res = b Axa; resrelat = Norm@resDêNorm@bD errorel m resrelat errorel resrelat ê m El método de Jacob Sea el sstema : a a a n x b a a a n x b = a n a n a nn x n b n Para resolverlo medante el método de Jacob se mplementa el sguente proceso teratvo: x HL = a Jb a x H L n a x H L N = =+ El superíndce () correponde a la etapa de teracón Eemplo º 4 7 Consderemos el sstema de ecuacones : A x = b, sendo A = 4 8, b = Realar 5 5 5 teracones del mdo de Jacob partendo de la aproxmacón ncal : x = Calcular, en cada teracón, el error absoluto relatvo A = 884,, <, 84, 8, <, 8,, 5<<;
practca4srnb 4 b = 87,, 5<; x= 8,,<; xn= x; DoADoAxn@@DD = b@@dd A@@, DD x@@dd A@@, DD x@@dd ì A@@, DD, = =+ 8, <E; Prnt@xnD; erabs = Norm@xn xd; errel = erabs ê Norm@xnD; Prnt@"El error absoluto es: ", erabsd; Prnt@"El error relatvo es: ", erreld; x= xn, 8ter, 5<E El método de Gauss-Sedel Consderando el msmo sstema anteror: a a a n x b a a a n x b = a n a n a nn x n b n Para resolverlo medante el método de Gauss-Sedel se mplementa el sguente proceso teratvo: x HL = a Jb a x HL n a x H L N = =+ El superíndce () correponde a la etapa de teracón Eemplo 4º Consderemos el sstema de ecuacones del eemplo anteror Realar 5 teracones del mdo de Gauss-Sedel partendo de la msma aproxmacón ncal Calcular el error absoluto relatvo A = 884,, <, 84, 8, <, 8,, 5<<; b = 87,, 5<; x= 8,,<; xn= x; DoADoAxn@@DD = b@@dd A@@, DD xn@@dd A@@, DD x@@dd ì A@@, DD, = =+ 8, <E; Prnt@xnD; erabs = Norm@xn xd; errel = erabs ê Norm@xnD; Prnt@"El error absoluto es: ", erabsd; Prnt@"El error relatvo es: ", erreld; x= xn, 8ter, 5<E La condcón necesara sufcente para que un método teratvo de resolucón de sstemas lneales sea convergente es que el rado espectral de la matr de paso sea menor que la undad (Se recuerda que el rado espectral de una matr es gual al maor de los valores popos de la matr en módulo o valor absoluto) con Mathematca resulta mu sencllo calcular el rado espectral de una matr utlando el comando Egenvalues Sea el sstema :
practca4srnb 5 a a a n x a a a n x = a n a n a nn x n b a a a n b a, sendo A = a a n b n a n a n a nn Defnamos las matrces : a a a D=, L = a nn a n a n a a n a U = n Entonces la matr de paso del método de Jacob es : T = D - HL + UL la del método de Gauss-Sedel : T G = HD - LL - U Eemplo 5º Calcular las matrces de paso de los métodos de Jacob Gauss-Sedel de los eemplos anterores, sus respectvos rados espectrales,comprobando que son menores que la undad d = Table@A@@, DD, 8, <D; dag = DagonalMatrx@dD L = A; Do@L@@, DD =, 8, <, 8,, <D; L U = A; Do@U@@, DD =, 8, <, 8, <D; U Para el método de Jacob T = D - HL + UL: T = Inverse@dagDHL + UL; MatrxForm@TD Max@Abs@Egenvalues@TDDD Para el método de Gauss-Sedel T = HD - LL - U : Tg = Inverse@dag LDU; MatrxForm@TgD Max@Abs@Egenvalues@TgDDD
practca4srnb 6 Resolucón de sstemas no lneales El método de Newton El comando FndRoot fhx, L = Sea el sstema 9 fhx, L =, sea J(x,) la matr Jacobana de f f respecto a x e Sea P Hx, L la aproxmacón de la solucón correspondente a la etapa Los pasos correspondentes a la sguente etapa son: º- Evaluar F(P ) = fhp L fhp L º- Calcular la matr acobana en P, J(P ) º- Resolver el sstema lneal : J(P )Dp = - F( J(P )) 4º- Calcular la sguente aproxmacón : P + = P + Dp Eemplo 6º : Sea el sstema : 9 x - = - x =, Representar gráfcamente para obtener la aproxmacón ncal correspondente a la ra del prmer cuadrante, calcular teracones del método de Newton f@x_, _D = x^ ; g@x_, _D = ^ x ; << Graphcs`ImplctPlot` graf = ImplctPlot@f@x, D, 8x,, <D graf = ImplctPlot@g@x, D, 8x,, <D Show@graf, grafd acob@x_, _D = 88 x f@x, D, f@x, D<, 8 x g@x, D, g@x, D<<; ndep@x_, _D = 8 f@x, D, g@x, D<; Prnt@MatrxForm@acob@x, DD, " ", MatrxForm@ndep@x, DDD x = ; = ; termax = ;
practca4srnb 7 Do@Prnt@"Jacob= ", MatrxForm@acob@x, DD, " ", "TermIn= ", MatrxForm@ndep@x, DDD; sol = LnearSolve@acob@x, D, ndep@x, DD; Prnt@"Delta= ", MatrxForm@solDD; x = x + sol@@dd; = + sol@@dd; Prnt@"K= ",, " x= ", x, " = ", D, 8, termax<d à El comando FndRoot Como en el caso de una sola ec no lneal, el comando FndRoot nos permte obtener una solucón numérca (aproxmada) de un sstema de ecuacones no lneales partendo de una aproxmacón ncal Una de sus ocones nos permte especfcar el nº máxmo de teracones a realar S se alcana el nº máxmo de teracones sn haber obtendo la solucón el comando FndRoot nos devuelve la aproxmacón calculada en la últma etapa que se puede utlar como aproxmacón ncal de un nuevo comando FndRoot Es convenente realar una representacón gráfca, cuando sea posble, para obtener una buena aproxmacón ncal El comando FndRoot puede resolver ec no lneales en varable complea Para ello solo es precso nclur la undad magnara I en la aproxmacón ncal Por eemplo: FndRoot[Sn[x] ==, x, }] FndRoot[Sn[x] ==, x, I}] Para resolver el sstema anteror utlando el comando FndRoot: FndRoot@8f@x, D, g@x, D <, 8x, <, 8, <D Eerccos º- El sstema lneal : 4 x + x - x = 6 x + 5 x - x = x + x + 4 x = tene como solucón exacta xe = 887586, 65574, 96557< como solucón aproxmada xa = 88, 64, 9< Calcular, para las normas l, l l : a) la norma del vector error absoluto del vector resduo b) el error relatvo el resduo relatvo c) la norma el número de condcón de la matr de coefcentes, comprobando que cualquera de las normas es maor que el rado espectral de la matr mat = 884,, <, 8, 5, <, 8,, 4<<; b= 86,, <; xe = 887586, 65574, 96557<; xa = 88, 64, 9<;
practca4srnb 8 º- Resolver el sstema : x 5 =, partendo de la aproxmacón ncal x= 6 8 t 5 utlando el método de Jacob, con un error absoluto menor que - fando un número máxmo de teracones Nmax = mat = 88,,, <, 8,,, <, 8,,, <, 8,,, 8<<; nd = 85,,6,5<; x= 8,,, <; eps = ; Nmax = ; n = 4; º-Dado el sguente sstema : x = t Realar 4 etapas del método de Gauss-Sedel partendo de la aproxmacón ncal : convergenca del método 7 5 Comprobar la En lugar de trabaar con la matr, ntroducmos las ecuacones drectamente (se ahorra espaco de memora) mat = ; x = 7; = 5; = ; t = ; 4º- Resolver el sguente sstema medante los métodos de Jacob Gauss-Sedel para n=, 5 Obtener las solucones con un error menor que - utlando la norma del máxmo Comparar el nº de teracones requerdos por cada método
practca4srnb 9 x x x x n x n = 5º- Resolver el sguente sstema no lneal prmero utlando el método de Newton a contnuacón con el comando FndRoot: x - cos() - / = x - 8 H + L + senhl + 6 = e -x p- + + ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ = Tomar como aproxmacón ncal x HL =, x HL = x HL = - f@x_, _, _D = x Cos@ D 5; f@x_, _, _D = x^ 8 H + L^+ Sn@D + 6; f@x_, _, _D = Exp@ x D + + H P Lê;