Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
Tema 4
´
Algebra Lineal Num´
erica
Angel Mora Bonilla, Emilio Mu˜noz Velasco
Departamento de Matem´atica Aplicada Universidad de M´alaga
¿Qu´
e es un Sistema Lineal?
Un sistema lineal de m ecuaciones con n inc´ognitas puede ser
expresado de la forma:
a1,1x1+ a1,2x2+ . . . + a1,nxn = b1
a2,1x1+ a2,2x2+ . . . + a2,nxn = b2 . . .
am,1x1+ am,2x2+ . . . + am,nxn = bm
o bien, en forma matricial A~x = ~b, donde A es una matriz m × n y
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
¿Qu´e es un Sistema Lineal?
Conocimientos previos Definiciones. Propiedades Normas
Librer´ıas de Scilab
¿Introducir matriz en SCILAB?
El sistema 2x1+ 4x2+ 3x3 = 3 1x1+ 3x2− 2x3 = −1 −1x1− 3x2+ 0x3 = 2
se introduce y resuelve en SCILAB de la siguiente forma:
--> A=[2 4 3; 1 3 -2; -1 -3 0] --> b=[3; -1; 2]
Conocimientos previos-I
Sistema Compatible Determinado (SCD): Soluci´on ´unica.
Sistema Compatible Indeterminado (SCI): Infinitas soluciones.
Sistema Incompatible (SI): No existe soluci´on.
Determinante de una matriz cuadrada y su c´alculo.
--> det(A)
Rango de una matriz. Significado y c´alculo.
Matriz traspuesta.
--> A’
Matriz inversa.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
¿Qu´e es un Sistema Lineal?
Conocimientos previos
Definiciones. Propiedades Normas
Librer´ıas de Scilab
Conocimientos previos-II
Si A es una matriz cuadrada:
Matriz inversible: (∃A−1, |A| 6= 0)
Matriz singular: (6 ∃A−1, |A| = 0)
Matriz diagonal: i 6= j ⇒ ai ,j = 0
Matriz triangular superior: i > j ⇒ ai ,j = 0. Matriz triangular inferior: i < j ⇒ ai ,j = 0. Matriz sim´etrica: A = A0.
Autovalores y autovectores. Significado y c´alculo.
Propiedades
El producto de una matriz por su traspuesta siempre es una matriz sim´etrica.
Los autovalores de una matriz sim´etrica siempre son reales.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
¿Qu´e es un Sistema Lineal? Conocimientos previos Definiciones. Propiedades
Normas
Librer´ıas de Scilab
Norma vectorial: Ejemplos
Las usuales son:k~xkk = k
q
|x1|k+ |x2|k+ . . . + |xn|k de las que destacan:
Radio espectral
Se define el Radio espectral de una matriz A como el m´odulo del
autovalor con mayor m´odulo. Esto es:
ρ(A) = m´ax
i |λi|
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
¿Qu´e es un Sistema Lineal? Conocimientos previos Definiciones. Propiedades
Normas
Librer´ıas de Scilab
Normas matriciales usuales
Norma 1: kAk1 = m´axjP
i|ai ,j| --> norm(A,1) Norma ∞: kAk∞= m´axi P j|ai ,j| --> norm(A,’inf’)
Norma 2: kAk2 =pρ(A0A)
--> norm(A,2) --> norm(A)
Normas matriciales: Ejemplo
Ejemplo: Para la matriz A =
−2 3 0
0 −1 1
resulta:
kAk1 = m´ax{2, 4, 1} = 4, kAk∞= m´ax{5, 2} = 5
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
¿Qu´e es un Sistema Lineal? Conocimientos previos Definiciones. Propiedades
Normas
Librer´ıas de Scilab
Sistemas Sobredeterminados y Vector Residuo
A los sistemas que no tienen soluci´on (incompatibles) se les llama
tambi´en sistemas sobredeterminados.
Vector residuo: Se llama as´ı al vector ~r = A~x − ~b.
--> r=A*x-b
Si ~x es la soluci´on del sistema, el residuo es el vector cero, pero no ser´a as´ı debido a los errores que siempre estar´an presentes en los c´alculos.
Llamamos soluci´on de un sistema sobredeterminado al vector
˜x que minimize la norma 2 del vector residuo. Es decir, no
Librer´ıa para Scilab de S.E.L.
prac1.sci
En este fichero se encuentra la librer´ıa de rutinas para la pr´actica primera. Pasos para cargar la librer´ıa:
File - Change Directory. Cambiarse al directorio en el que est´a la pr´actica
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
M´etodos de Gauss y de Gauss-Jordan
Otras opciones
M´etodo de Factorizaci´on QR
M´
etodos de Gauss y de Gauss-Jordan
Rutinas implementadas
Los m´etodos de Gauss implementados en Scilab son los
siguientes:
M´etodos Gaussianos.
Gauss, gauss.sci;
Gauss Jordan, gaussjor.sci;
Para resolver un sistema Ax = B por Gauss en Scilab, hay
introducir previamente las matrices A y B, a continuaci´on hay que
ejecutar las siguientes ´ordenes:
Otras opciones
Hay otras formas de resolver un sistema de ecuaciones. Comparar los resultados.
--> x1=inv(A)*B --> x2=A\B
Conviene siempre comprobar el rango de A y de la ampliada para ver que tipo de sistema estamos resolviendo.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
M´etodos de Gauss y de Gauss-Jordan
Otras opciones
M´etodo de Factorizaci´on QR
Ejemplo
--> A=[1 2 3; 3 4 5; 3 4 5] --> b=[1 2 3]’
Si estudiamos rangos de A y de la matriz ampliada:
--> rank(A) ans = 2. --> rrank([A b]) ans = 3.
El sistema por tanto es incompatible. Al intentar Gauss da error.
--> x=gauss(A,b)
Probar las opciones:
M´
etodo de Factorizaci´
on QR
Dada una matriz A, la descompondremos en A = QR siendo Q una
matriz ortogonal (Q0 = Q−1) y R una matriz triangular superior.
Para resolver A~x = ~b consideramos
A~x = QR~x = ~b ⇒ Q0QR~x = R~x = Q0~b. As´ı:
1 Descomponemos la matriz A en el producto QR [Q,R]=qr(A)
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
M´etodos de Gauss y de Gauss-Jordan Otras opciones
M´etodo de Factorizaci´on QR
M´
etodo QR: Ejemplo 1
Para resolver el sistema A~x = ~b por el m´etodo QR, haremos:
1 Introducimos la matriz A, el vector ~b y descomponemos:
M´
etodo QR: Ejemplo 2-(a)
Hallar una recta que pase por los puntos: (2,3), (-1,2), (-2,2), (0,2) y (3,4).
La ecuaci´on de la recta es y = mx + b por lo que debemos
encontrar m y b tales que se verifique: 3=2m+b; 2=-m+b; 2=-2m+b, 2=b; 4=3m+b, que no pueden verificarse
simult´aneamente (sistema sobredeterminado).
La mejor soluci´on (recta de regresi´on por m´ınimos cuadrados),
se obtiene de forma eficiente por el m´etodo QR:
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
M´etodos de Gauss y de Gauss-Jordan Otras opciones M´etodo de Factorizaci´on QR
M´
etodo QR: Ejemplo 2-(b)
Q = −0,4714 −0,3558 0,2170 −0,1729 −0,5777 0,2357 −0,5083 −0,7079 −0,4298 −0,0126 0,4714 −0,5592 0,6410 −0,1414 0,1851 0 −0,4575 −0,1967 0,8663 −0,0392 −0,7071 −0,3050 0,0467 −0,1222 0,6244 , R = −4,2426 −0,4714 0 −2,1858 0 0 0 0 0 0 ~b0= Q0~b = −2,8284 −5,3374 0,3104 −0,4174 0,4910 ⇒ −4,2426x − 0,4714y = −2,8284 −2,1858y = −5,3374 ⇒ ~x = 0,3953 2,4419M´
etodos iterativos.
Los m´etodos directos resultan, en general, inservibles para
n > 50 inc´ognitas porque propagan los errores.
Otro problema es que los m´etodos directos necesitan
almacenar la matriz A en memoria.
Los grandes sistemas de ecuaciones que surgen en la pr´actica,
tienen la matriz A esparcida (muchos coeficientes igual a
cero) y aunque existen m´etodos directos especiales,
usualmente se resuelven por m´etodos iterativos.
Los m´etodos iterativos tienen la ventaja de no propagar el
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios Generalidades M´etodo de Jacobi Condiciones de convergencia Errores
Convergencia y otros problemas asociados
Los m´etodos iterativos obtienen una estimaci´on de la soluci´on del sistema ~x(m+1) en funci´on de las anteriores, en este caso s´olo ser´a una funci´on lineal de la anterior:
~x(m+1) = B~x(m)+ C
donde B es la matriz del m´etodo y C es un vector.
Los problemas asociados con los m´etodos iterativos son:
Convergencia Para que sea ´util debe ser convergente y el
l´ımite ser la soluci´on del sistema.
Velocidad de convergencia: Interesa que converja lo m´as
r´apido posible.
Vector inicial: ¿C´omo se elige?.
Criterio de Convergencia
Un m´etodo iterativo de la forma: ~x(m+1) = B~x(m)+ C,
converge, si y s´olo si, ρ(B) < 1.
Tiene convergencia global, no depende del vector de inicio. Una medida de la velocidad de convergencia nos la da el valor
de ρ(B). Interesa que sea lo m´as pr´oximo a cero posible.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios Generalidades M´etodo de Jacobi Condiciones de convergencia Errores
Forma matricial del m´
etodo de Jacobi
Consideremos la descomposici´on A = D + L + R donde:
D= Matriz diagonal con la misma diagonal que A.
L= Matriz con todos los t´erminos nulos, excepto los que est´an por debajo de la diagonal en los que coincide con A.
R= Matriz con todos los t´erminos nulos, excepto los que se encuentran por encima de la diagonal en los que coincide con A.
Dado el sistema A~x = ~b ⇒ (D + L + R)~x = ~b ⇒
D~x = −(L + R)~x + ~b ⇒ ~x = −D−1(L + R)~x + D−1~b El m´etodo de Jacobi queda:
~x(m+1) = BJ~x(m)+ CJ
Ejemplo
Hallar el vector residuo y sus normas tras dar 3 iteraciones por el m´etodo de Jacobi , ~x(0)= (2, 3, 0)0, al sistema: A~x = ~b:
A = 5 3 −1 −2 3 −1 1 3 −5 , ~b = 2 4 −5
Tras 3 iteraciones por Jacobi,
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios Generalidades M´etodo de Jacobi Condiciones de convergencia Errores
Condiciones de convergencia
La condici´on necesaria y suficiente de convergencia de
un m´etodo, es que el radio espectral de la matriz del
m´etodo sea menor que 1: ρ(B) < 1. Como para cualquier
Errores en los m´
etodos iterativos
El error cometido en un m´etodo iterativo tras m iteraciones puede
acotarse mediante:
k~x(m)− ~x∗k∞= k∆~x(m)k∞ ≤ kBk
m
∞k~x(1)− ~x(0)k∞ 1 − kBk∞
donde B (kBk∞< 1) es la matriz del m´etodo iterativo.
De la f´ormula anterior, podemos calcular el n´umero de iteraciones
n necesario para obtener una soluci´on con un error determinado E :
m ≥ 1 log kBk∞)· log E · (1 − kBk∞) k~x(1)− ~x(0)k ∞
Estas f´ormulas pueden dar problemas en el caso de que kBk∞ sea
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios Generalidades M´etodo de Jacobi Condiciones de convergencia Errores
Errores en los m´
etodos iterativos: Ejemplo
Acotar el error cometido al dar 3 iteraciones por el m´etodo de
Jacobi al sistema 5 3 −1 −2 6 −1 1 3 −5 ~x = 2 4 −5 , ~x(0) = 0 1 0 . --> [x3,res,rad,BJ,CJ]=jacobi(A,b,3,[0;1;0]) --> n=norm(BJ) --> ans=0.8 --> x1=jacobi(A,b,1,[0;1;0]) --> n1=norm(x1-[0;1;0]) Resultados y calculamos el error:
k∆~x(3)k
∞≤
n3n1
1 − n = 4,096
C´
alculo de autovalores
Scilab calcula los autovalores de una matriz A con la orden
spec(A), si queremos adem´as la matriz diagonal V y la matriz de
paso X , escribiremos[X,V]=spec(A).
Un m´etodo iterativo para el c´alculo de autovalores se basa en la
descomposici´on QR de la matriz A.
1 A0 = A
2 Repetir:
[Q, R] = qr(Ai)
Ai+1 = RQ
En Scilab el algoritmo est´a implementado en el archivofrancis.sci,
ejecutarlo y luego introducirfrancis(A,n), siendo A la matriz de
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios Ejercicio 1
Dado el sistema Ax=b, siendo:
A = 16 0 −1 0 −5 2 1 4 2 7 −2 0 3 0 −1 4 0 3 16 1 0 0 −1 4 4 2 0 20 4 0 0 4 −1 −1 −1 5 11 1 0 4 −1 −1 −1 −1 6 12 0 4 0 1 1 1 2 7 15 4 0 2 1 0 0 0 1 4 , b = 1 3 −2 2 5 6 3 0
(a) Iterar por el m´etodo de Jacobi (30 iteraciones, inicio el origen). Estudiar previamente su convergencia y calcular las normas 1, 2, ∞ del vector residuo.
Ejercicio 2
Dado el sistema Ax=b, siendo:
A = 1 −3 2 1 0 0 3 10 −1 2 1 10 30 −1 1 2 4 0 10 2 2 11 1 0 10 , b = 1 1 2 1 1
(a) Estudiar la compatibilidad del sistema.
(b) Resolverlos por m´etodos directos e iterativos estudiados.
(c) Estudiar la convergencia de los m´etodos iterativos.
(d) Dar las iteraciones necesarias para obtener la soluci´on con
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
Ejercicio 3
Dado el sistema Ax = b, con
A = 4 −1 −2 0 −1 4 0 −2 −2 0 4 −1 0 −2 −1 4 ; b = 4 0 0 −4
Ejercicio 5
Dado el sistema Ax = b con:
A = 8,9988745 2,3214327 6,6423 3,1871123 4,42111111 −1,222222 8,4364121 −8,62046793 16,9512661 ; b = 10,9983091 −6,8773192 42,62861406 .
(a) Resolver por los m´etodos QR, y Jacobi (100 iteraciones), estudiando previamente la convergencia.
(b) Calcular los residuos y comparar.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
Ejercicio 6
La ley de Kirchoff para el voltaje aplicado a un circuito produce el siguiente sistema de ecuaciones:
(R1+ R3+ R4)I1+ R3I2+ R4I3 = E1
R3I1+ (R2+ R3+ R5)I2− R5I3 = E2
R4I1− R5I2+ (R4+ R5+ R6)I3 = 0
Calcular las intensidades de corriente I1, I2, I3 cuando
R1 = 1, R2 = 1, R3 = 2, R4 = 1, R5= 2, R6= 4 y
E1 = 23, E2= 29. Calcular tambi´en para E1 = 12, E2 = 21,5.
Resolver por los distintos m´etodos estudiados, calcular errores y
Ejercicio 7
Dado el sistema Ax = b con
A = (aij) = 1/(i + j − 1); b = (bi) = i2− 3, (i , j = 1 . . . ..n).
(a) Resolver por un m´etodo directo y por un m´etodo iterativo con
n = 8.
Introducci´on M´etodos directos: Descomposici´on M´etodos iterativos C´alculo de autovalores Ejercicios
Ejercicio 9
Calcular, si es posible, los autovalores de la matrices de los