2. Sistemas de ecuaciones lineales 2.1 Ejercicios resueltos Ejercicio 2.1 Estudiar el número de condición de Frobenius de la matriz ! a −b A= . a + ε −b Solución: El determinante de A es |A| = −ab + b(a + ε) = b ε. Si b 6= 0 y ε 6= 0 es |A| = 6 0 y, por tanto, A es invertible, siendo su inversa: ! −b b 1 A−1 = b ε −a − ε a El número de condición de Frobenius viene dado por κF (A) = kAkF kA−1 kF . kAk2F = a2 + b2 + (a + ε)2 + b2 = 2a2 + 2b2 + 2a ε + ε2 kA−1 k2F b2 + b2 + (−a − ε)2 + a2 2a2 + 2b2 + 2a ε + ε2 = = b2 ε 2 b2 ε 2 Por lo que: κ2F (A) = (2a2 + 2b2 + 2a ε + ε2 )2 |2a2 + 2b2 + 2a ε + ε2 | =⇒ κ (A) = . F b2 ε 2 |b ε| Obsérvese que cuando ε tiende a cero, el número de condición de Frobenius κF (A) lo hace a infinito, por lo que la matriz A está mal condicionada. 19 20 Álgebra Numérica Por ejemplo: para a = 10 y b = 1 se tiene que κF (A) = 202 + 20ε + ε2 202 = ± 20 + |ε| |ε| |ε| Si ε = 10−8 κF (A) ' 2 · 1010 . Ejercicio 2.2 Dado el sistema: ( 3x + 4y = 7 3x + 5y = 8 a) Calcular su número de condición euclı́deo. b) Sustituir la segunda ecuación por una combinación lineal de ambas, de forma que el número de condición sea mı́nimo. Solución: 3 3 a) La matriz del sistema es A = ∗ A A= λ − 18 P (λ) = −27 3 4 3 5 ! 4 5 3 3 ! . 4 5 ! = 18 27 27 41 ! = (λ − 18)(λ − 41) − 272 = λ2 − 59λ + 9. √ √ 59 ± 3445 59 ± 3481 − 36 = =⇒ Las raı́ces de P (λ) son: λ = 2 2 s s √ √ 59 − 3445 59 + 3445 σ1 = y σ2 = 2 2 κ2 (A) = σ2 = σ1 s −27 λ − 41 s √ √ √ 59 + 3445 (59 + 3445)2 59 + 3445 √ = = =⇒ 36 6 59 − 3445 κ2 (A) = 19.61568707 . . . 2.1. EJERCICIOS RESUELTOS 21 b) La matriz resultante de la combinación lineal es ! 3 4 B= . 3a + 3b 4a + 5b Una matriz tiene número de condición euclı́deo mı́nimo (y vale 1) si, y sólo si, es proporcional a una matriz unitaria. Por tanto, B debe tener las filas (o las columnas) ortogonales y de igual norma. • (3 4) 3a + 3b 4a + 5b ! = 0 ⇒ 3(3a + 3b) + 4(4a + 5b) = 0 =⇒ 25a + 29b = 0 • Ambas filas han de tener la misma norma, por lo que ! ! 3 3a + 3b (3 4) = (3a + 3b 4a + 5b) =⇒ 4 4a + 5b 25 = 25a2 + 34b2 + 58ab Las condiciones que tenemos son: 29 a=± 25a + 29b = 0 3 =⇒ 25 25a2 + 34b2 + 58ab = 25 b=∓ 3 25 29 y b = − (el otro caso es análogo), Tomando, por ejemplo, a = 3 3 obtenemos: ! ! 3 4 0.6 0.8 B= = 5 U con U = unitaria. 4 −3 0.8 −0.6 ( 3x + 4y = 7 El sistema resultante es y su número de condición 4x − 3y = 1 euclı́deo es κ2 (B) = 1. Ejercicio 2.3 Sea α ∈ {0.5, 1.5, 2.5} y consideremos el sistema iterado 1 1 ! ! −1 1 1− α x α xn+1 n + = yn yn+1 1 1 −1 +1 1− α α 22 Álgebra Numérica Se pide a) Resolver el sistema resultante de tomar lı́mites ! para probar en caso ! que, ! ! x0 x1 x2 de que converja, el lı́mite de la sucesión , , ... y0 y1 y2 no depende de α. b) ¿Para qué valores de α converge la sucesión? c) Para los valores anteriores que hacen que la sucesión sea convergente, ¿con cuál lo hace más rápidamente? ! ! x0 0.5 d) Comenzando con el vector = , aproximar iteradamente y0 0.5 el lı́mite de la sucesión utilizando el valor de α que acelere más la convergencia. Solución: a) En caso de que converja, tomando lı́mites obtenemos que ! ! ! 1 1 1 x 1 0 x 1− α −1 + = α 1 1 y 0 1 y −1 +1 1− α α o lo que es lo mismo ! 1 1 2 − α −1 x 1− α = 1 1 =⇒ y 1 − 1− α α ! 1 1 0 1 − −1 + α α x = 1 1 y 1 − 1 − α α por lo que x=y x = y = 1 ya que 1 1 =⇒ 1− x=1− α α α 6= 1 es decir, la solución (el lı́mite de la sucesión) no depende de α. 2.2. EJERCICIOS PROPUESTOS 23 1 1 −1 b) El polinomio caracterı́stico de la matriz α del método 1 +1 −1 α 2 1 1 iterado es P (λ) = λ2 − λ + 2 que admite la raı́z doble . α α α Dado que el radio espectral de la matriz debe ser menor que 1, α ha de ser mayor que 1, por lo que converge para α = 1.5 y para α = 2.5, pero no lo hace para α = 0.5. c) El método converge más rápidamente para el valor de α que hace menor el radio espectral de la matriz, es decir, para α = 2.5. x0 y0 d) Partiendo de x1 y1 ! = 4/5 ! ! 4/5 0.5 0.5 = x2 y2 ! ! = y tomando α = 2.5 se obtiene: 23/25 ! x3 y3 23/25 que podemos observar como converge a x y ! 121/125 = ! = 121/125 1 1 ! ... ! que era la solución del sistema. 2.2 Ejercicios propuestos ( Ejercicio 2.4 Dado el sistema x + y = 2 2x + y = 3 a) Calcular su número de condición de Frobenius. Sol : κF (A) = 7. b) Calcular “a” para que el número de condición del sistema resultante de sumarle a la segunda ecuación la primera multiplicada por dicha constante “a”, sea mı́nimo. Sol : a = −3/2. 24 Álgebra Numérica Ejercicio 2.5 Comprobar que la 1 1 A= 0 0 0 matriz: 2 4 4 0 0 admite factorización LU y realizarla. 1 0 0 0 0 1 1 0 0 0 Sol : L = 0 2 1 0 0 yU = 0 0 3 1 0 0 0 0 4 1 fundamentales son regulares. 0 3 9 9 0 1 0 0 0 0 0 0 0 0 4 0 16 5 16 25 2 2 0 0 0 0 3 3 0 0 0 0 4 4 0 0 0 0 5 5 . Todas sus matrices Ejercicio 2.6 Resolver, por el método de Cholesky, el sistema de ecuaciones: −1 − 2i x1 6 −1 + 3i 1 − 2i 3 −1 + i x2 = 1 + i −1 − 3i 1 − 2i x3 1 + 2i −1 − i 2 Sol : x1 = −1 − 2i, x2 = 3 − i, x3 = 1 + 2i. p −p 2p Ejercicio 2.7 Dada la matriz A = −p p + 2 −1 se pide: 2p −1 6p − 1 a) Determinar para qué valores de p es hermı́tica y definida positiva. Sol : p ∈ ( 1/2, 3/2). b) Para p = 1, efectuar la descomposición de Cholesky y utilizarla para resolver el sistema Ax = b siendo b = (1 0 3)t . Sol : x1 = −1, x2 = 0, x3 = 1. Ejercicio 2.8 Resolver, utilizando MatLab y comenzando con el vector nulo, el sistema: 10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15 2.2. EJERCICIOS PROPUESTOS 25 por los métodos de Jacobi, Gauss-Seidel y SOR con ω = 1.2. Sol : (x1 , x2 , x3 , x4 ) = (1, 2, −1, 1). Jacobi 42 iteraciones, Gauss-Seidel 16 y SOR 24. Ejercicio 2.9 Al resolver el sistema x − 3y + 5z = 5 8x − y − z = 8 −2x + 4y + z = 4 por el método de Gauss-Seidel, utilizando MATLAB, observamos que el programa se detiene en la iteración 138 dándonos el vector (inf inf -inf)T . a) El método de Gauss-Seidel realiza el proceso xn+1 = L1 xn +c. Determina la matriz L1 . 0 3 −5 Sol : L1 = 0 24 −41 0 −90 154 b) Utilizar los cı́rculos de Gerschgorin para estimar el módulo de los autovalores de L1 . Sol : |λi | ≤ 244. c) Justificar el porqué de la divergencia del método. Sol : ρ(L1 ) > 1. d) ¿Existe alguna condición suficiente que deba cumplir la matriz de un sistema para garantizar la convergencia del método de Gauss-Seidel? Hacer uso de ella para modificar el sistema de forma que el proceso sea convergente? Sol : Llevando la primera ecuación al último lugar, la matriz del sistema resultante es de diagonal dominante y por tanto converge el método. Ejercicio 2.10 Sea el sistema Ax = b, donde ! ! 1000 999 x1 A= , x= 999 998 x2 y b= 1999 1997 ! . 26 Álgebra Numérica a) Obtener la factorización LU de la matriz A. ¿Se puede conseguir la factorización de Cholesky? ! ! 1 0 1000 999 Sol : L = , U = . No admite factori0.999 1 0 −0.001 zación de Cholesky. b) Resolver el sistema Ax = b utilizando la factorización A = LU obtenida en el apartado anterior. Sol : (x1 , x2 ) = (1, 1). c) Calcular kAk∞ , kA−1 k∞ y el número de condición de la matriz κ∞ (A). ¿Se puede decir que está bien condicionada? Sol : kAk∞ = 1999, kA−1 k∞ = 1999, κ∞ (A) = 19992 ≈ 4 · 106 es decir, la matriz está mal condicionada. d) Comprueba que kAxk∞ = kAk∞ para la solución x = (1, 1)T del sistema Ax = b. ¿Cuál es el máximo valor que puede tomar kAxk∞ , cuando x es un vector unitario para la norma k k∞ ? Sol : 1999. e) Si se perturba b en b + δb = (1998.99, 1997.01)T , calcular kδbk∞ /kbk∞ . Si x + δx es la solución obtenida para el nuevo sistema Ax = b + δb, ¿es el error relativo kδxk∞ /kxk∞ el máximo que se puede cometer? Indicación: kδxk∞ kδbk∞ ≤ κ∞ (A) . kxk∞ kbk∞ Sol : Es el máximo posible. Ejercicio 2.11 a) Dado un sistema Ax = b, el método de Gauss-Seidel consiste en construir la sucesión xn+1 = L1 xn + c, a partir de un vector inicial x0 . Si conocemos el valor de xn+1 ¿podrı́amos determinar el de xn haciendo xn = L−1 1 (xn+1 − c)? Sol : No. L1 no tiene inversa. ¿Porqué?, justifı́calo. 2.2. EJERCICIOS PROPUESTOS 27 b) Si la matriz A del sistema es de diagonal estrictamente dominante, ¿puede ser el radio espectral de L1 mayor que 1? Sol : No. ¿Porqué?, justifı́calo. c) Si, para un determinado sistema y comenzando con un determinado vector x0 , el método de Gauss-Seidel requiere 50 iteraciones para aproximar la solución con un error menor que ε y en la iteración 49 se pierde la primera coordenada del vector x49 y la sustituimos por un valor arbitrario, ¿se obtendrá en el paso siguiente la solución buscada con el mismo error que si no hubiésemos perdido el dato? ¿qué ocurrirı́a si la coordenada que perdemos del vector x49 es la segunda en vez de la primera? Sol : Si se pierde la primera: Sı́. Si se pierde la segunda: No. d) Tomando como vector inicial x0 = (2,−1, 2)T , 4 2 método de Gauss-Seidel para el sistema 0 2 −1 0 realizar pasos dos 16 x 1 1 y = 0 0 z 2 del . ¿Podrı́as decir cuál es la solución exacta del sistema? Sol : (4,-1,2). Ejercicio 2.12 Considérese el sistema Ax = b en el que ! ! ! a b x α A= , x= y b= con c d y β α, β ∈ R. a) Determinar la matriz B1 , para que el método iterativo xn+1 = B1 xn + c1 sea el que se obtiene con el método de Jacobi aplicado al sistema Ax = b. ! 0 − b/a Sol : B1 = . − c/d 0 b) Hallar los autovalores de B1 y probar, en este caso particular, que si la matriz A es simétrica y definida positiva, entonces el método de Jacobi converge. p p Sol : λi = ± bc/ad =⇒ ρ(B1 ) = + bc/ad. Si A es simétrica y definida positiva ρ(B1 ) < 1 y converge. c) Determinar la matriz B2 , para que el método iterativo xn+1 = B2 xn + c2 sea el que se obtiene con el método de Gauss-Seidel aplicado al sistema 28 Álgebra Numérica Ax = b. Sol : B2 = 0 − b/a 0 bc/ad ! . d) Hallar los autovalores de B2 y dar un ejemplo de matriz A (con a 6= 1) para la que el método de Gauss-Seidel no converja. ¿Puede, en tal caso, ser convergente el método de Jacobi? Sol : λ1 = 0,!λ2 = bc/ad. Uno de los infinitos ejemplos para A serı́a 0 2 A= . Jacobi también diverge. 1 1 ! 1 2 e) Comprobar la matriz A = es otro ejemplo para la no conver1 1 gencia del método de Gauss-Seidel. ! 1 Calcular, para dicha matriz y el vector b = el término general 1 de la sucesión xk obtenida por el método de Gauss-Seidel a partir del ! m vector x0 = y comprobar que dicha sucesión no converge para n valores arbitrarios de m y n. ¿Existe algún vector inicial x0 para el que converja el método? y, en caso de existir, ¿contradice dicho ejemplo el hecho de que el método no sea convergente? ! −2k n + 1 Sol : xk = que diverge si n 6= 0. No existe contradicción 2k n ¿porqué?. Justifı́calo. Ejercicio 2.13 Se quiere encontrar una función de la forma f (x) = ax3 +bx+c que pase por los puntos (1, 4), (−2, −23) y (2, 21). a) Plantear un sistema de ecuaciones para calcular los coeficientes de f y resolverlo usando la descomposición LU de la matriz del sistema. Sol : f (x) = 2x3 + 3x − 1. b) Usar una sucesión de Sturm para saber cuántas raı́ces reales tiene la ecuación f (x) = 0. 2.2. EJERCICIOS PROPUESTOS 29 Sol : Sólo una. c) Separar dichas raı́ces por intervalos adecuados para que se den las hipótesis de las condiciones de Fourier. Sol : x ∈ [0.3, 0.4] d) ¿Cuantas iteraciones son necesarias para obtener las raı́ces reales con 6 cifras decimales exactas usando para su cálculo el método de Newton? Sol : Tres. e) Aplicar dicho método para calcularlas con una precisión de 12 cifras decimales exactas asegurando en cada paso del método el número de cifras que se van obteniendo. Sol : x = 0.312908409479.