Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD DE CONCEPCIÓN FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE INGENIERÍA MATEMÁTICA Guía N◦10: Algunas propiedades de matrices Cálculo Numérico 521230, 2020-1 Nota: Para poder realizar esta guía, es necesario ver primero los videos de Capítulo 7: Sistemas de ecuaciones lineales: Parte III. 1. Considere el sistema Ax = b, donde A = ( 3 −1 −1 2 ) y b = ( 4 −3 ) . a) ¿Es convergente el Método de Jacobi si se aplica a resolver este sistema?. Justifique. b) Realizar, “a mano” dos iteraciones del Método de Jacobi comenzando con x(0) = ( 0 0 ) . c) Bajar desde Canvas el programa jacobi_ejemplo1.m utilizado en el video y modifíquelo para resolver este sistema con una tolerancia de tol= 10−10. ¿Cuál es la aproximación de x que entrega el método?. 2. Repita el ejercicio anterior, pero en lugar del Método de Jacobi considere el Método de Gauss-Seidel. 3. Considere el sistema Ax = b, donde A = 4 3 33 4 3 3 3 4 y b = 42 4 . a) ¿Es A es diagonal dominante estricta?. ¿Es A simétrica y definida positiva? b) ¿Cuál método iterativo recomendaría para resolver el sistema?. c) Utilizar el método recomendado en b) con una tolerancia de tol= 10−8, comenzando con x(0) = 22 2 . Bajar desde Canvas el programa respectivo. 4. Se quiere resolver, mediante un esquema iterativo, el sistema Ax = b, donde A = ( 2 −1 −1 2 ) y b = ( 1 4 ) . Se descompone A como: A = N−P con N invertible y sabemos que el algoritmo del esquema general es: Dado el vector inicial x(0), for k = 1, 2, . . .∣∣ Nx(k) = Px(k−1) + b, end Además, recordemos que la matriz de iteración se define como M := N−1P. a) Considere N = ( 1/3 0 0 1/3 ) y P = ( −5/3 1 1 −5/3 ) . Realizar cuatro iteraciones del esquema general par- tiendo con x(0) = ( 2 2 ) . ¿El algoritmo converge? ¿Por qué?. Indicación: Analizar la matriz de iteración y notar que la solución exacta del sistema es x = ( 2 3 ) . b) Considere N = ( 3 0 0 3 ) y P = ( 1 1 1 1 ) . Realizar cuatro iteraciones del esquema general con x(0) = ( 2 2 ) . ¿El algoritmo converge? ¿Por qué?. 5. Escriba un rutero Octave en el que haga lo siguiente: 1 2 a) Cree una matriz de la forma A = a b 0 0 · · · 0 d 0 0 c a b 0 · · · 0 0 d 0 0 c a b · · · 0 0 0 d 0 0 c a · · · 0 0 0 0 ... ... ... ... ... ... ... ... ... d 0 0 0 · · · c a b 0 0 d 0 0 · · · 0 c a b 0 0 d 0 · · · 0 0 c a . de tamaño 50 × 50 con a = 4, b = c = 1, d = −1 y la almacene en formato sparse. Indicación: Utilizar el comando spdiags que se explica al final de esta guía. b) Para visualizar que la matriz A tiene la estructura deseada, utilice el comando spy(A). c) Calcule, para la matriz A, las matrices D, E y F de la descomposición introducida en clases para derivar los métodos de Jacobi y Gauss-Seidel. Indicación: Utilizar los comando triu y triul que se explican en el video titulado Métodos de Jacobi y Gauss-Seidel. d) Calcule las correspondientes matrices de iteración de los métodos de Jacobi (J) y Gauss-Seidel (GS). Dado que la matriz creada antes es estrictamente diagonal dominante, el radio espectral de las matrices J y GS debe ser estrictamente menor que uno. Compruébelo con ayuda de los comandos eigs, abs y max. e) Considere el sistema Ax = A con A construida al inicio de este ejercicio y b igual al vector cuyas 50 compo- nentes son iguales a uno. Modifique los programas respectivos que se encuentran en Canvas para resolver este sistema con los métodos de Jacobi y Gauss-Seidel, considerando x(0) = Θ (vector nulo), maxiter=100 y tol según se especifica en el siguiente cuadro que usted debe completar y en el que xJ denota la aproximación obtenida mediante el método de Jacobi y xGS , la obtenida con Gauss-Seidel. iteraciones Jacobi iteraciones Gauss-Seidel ‖xJ − xGS‖∞ tol=1e-2 tol=1e-4 tol=1e-6 Note que en este caso particular el método de Gauss-Seidel necesita menos iteraciones que el método de Jacobi para alcanzar la precisión requerida. Recuerde que éste no siempre es el caso. Uso de comando spdiags El comando spdiags posee varias funcionalidades. Una de ellas se explica a continuación. Dado un vector v y números enteros d, m y n, la instrucción B = spdiags(V,d,m,n) genera una matriz A en formato sparse utilizando el vector v y ubicándolo a lo largo de la diagonal cuya posición especificada en d. Para visualizar esto veamos un ejemplo. Escribimos en Octave el vector: V = [1;2;5;-6]; Si escribimos B = spdiags(V,0,4,4), obtenemos lo siguiente: (1, 1) -> 1 (2, 2) -> 2 (3, 3) -> 5 (4, 4) -> -6 Esto dice que el elemento (1, 1) es 1, el elemento (2, 2) es 2, el elemento (3, 3) es 5, el elemento (3, 3) es −6 y todos los demás elementos son ceros. Es decir, corresponde a la matriz B = 1 0 0 0 0 2 0 0 0 0 5 0 0 0 0 −6 . Notar que en este caso el valor de d es 0, el cual indica a Octave que almacene los números en la diagonal principal. Si escribimos B = spdiags(V,-1,4,4), obtenemos lo siguiente: (2, 1) -> 1 (3, 2) -> 2 (4, 3) -> 5 3 Esto dice que el elemento (2, 1) es 1, el elemento (3, 2) es 2, el elemento (4, 3) es 5 y todos los demás elementos son ceros. Es decir, corresponde a la matriz B = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 5 0 . Notar que en este caso el valor de d es −1, el cual indica a Octave que almacene los números en la diagonal inferior a la diagonal principal. Si escribimos B = spdiags(V,-2,4,4), obtenemos lo siguiente: (3, 1) -> 1 (4, 2) -> 2 Esto dice que el elemento (3, 1) es 1, el elemento (4, 2) es 2 y todos los demás elementos son ceros. Es decir, corresponde a la matriz B = 0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 0 . Notar que en este caso el valor de d es −2, el cual indica a Octave que almacene los números en la segunda diagonal inferior a la diagonal principal. Si escribimos B = spdiags(V,1,4,4), obtenemos lo siguiente: (1, 2) -> 2 (2, 3) -> 5 (3, 4) -> -6 Esto dice que el elemento (1, 2) es 2, el elemento (2, 3) es 5, el elemento (3, 4) es −6 y todos los demás elementos son ceros. Es decir, corresponde a la matriz B = 0 2 0 0 0 0 5 0 0 0 0 −6 0 0 0 0 . Notar que en este caso el valor de d es 1, el cual indica a Octave que almacene los números en la diagonal superior a la diagonal principal. Si escribimos B = spdiags(V,2,4,4), obtenemos lo siguiente: (1, 3) -> 5 (2, 4) -> -6 Esto dice que el elemento (1, 3) es 5, el elemento (2, 4) es −6 y todos los demás elementos son ceros. Es decir, corresponde a la matriz B = 0 0 5 0 0 0 0 −6 0 0 0 0 0 0 0 0 . Notar que en este caso el valor de d es 2, el cual indica a Octave que almacene los números en la segunda diagonal superior a la diagonal principal. Concepción, 08 de agosto de 2020 VOE/MSS/MSP
Compartir