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 demecuaciones conn 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 matricialA~x=~b, donde Aes una matrizm×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.
Determinantede una matriz cuadrada y su c´alculo.
--> det(A)
Rango de una matriz. Significado y c´alculo.
Matriz traspuesta. --> A’
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
SiAes 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:
Norma 1:
k~xk1 =|x1|+|x2|+. . .+|xn| ⇒ k(−1,3,−4)k1 = 8.
Norma 2: k~xk2 =p|x1|2+|x
2|2+. . .+|xn|2⇒ k(−1,3,−4)k2 =
√
1 + 9 + 16.
Radio espectral
Se define elRadio espectralde una matriz A como el m´odulo del
autovalor con mayor m´odulo. Esto es:
ρ(A) = m´ax
i |λi|
Ejemplo:Dada la matriz A=
2 1
−1 3
resulta:
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´axjPi|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 matrizA=
−2 3 0
0 −1 1
resulta:
kAk1 = m´ax{2,4,1}= 4, kAk∞= m´ax{5,2}= 5
Para la norma 2:A0A=
4 −6 0
−6 10 −1
0 −1 1
⇒ |A−λI|= 0⇒
4−λ −6 0
−6 10−λ −1
0 −1 1−λ
=−λ3+ 15λ2−17λ= 0
⇒λ1 = 0, λ2 ≈1,235, λ3 ≈13,765 luego
kAk2≈
√
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.
Llamamossoluci´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 enScilabson los
siguientes:
M´etodos Gaussianos.
Gauss, gauss.sci;
Gauss Jordan, gaussjor.sci;
Para resolver un sistemaAx =B por Gauss enScilab, hay
introducir previamente las matricesAyB, 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:
--> inv(A)∗B
M´
etodo de Factorizaci´
on QR
Dada una matrizA, la descompondremos enA=QR siendoQ una
matriz ortogonal (Q0 =Q−1) y R una matriz triangular superior.
Para resolverA~x=~b consideramos
A~x = QR~x =~b ⇒Q0QR~x = R~x = Q0~b. As´ı:
1 Descomponemos la matrizA en el productoQR [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 sistemaA~x =~b por el m´etodo QR, haremos:
1 Introducimos la matriz A, el vector~b y descomponemos:
--> A=[4 4 5;2 1 3; 5 6 4]; --> b=[2 3 4]’;[Q,R]=qr(A)
Q=
−0,5963 −0,1988 −0,7778
−0,2981 −0,8447 0,4444
−0,7454 0,4969 0,4444
, R=
−6,7082 −7,1554 −6,8573
0 1,3416 −1,5404
0 0 −0,7778
2 Calculo~x mediante:
--> R\(Q0∗b)
Obtenemos~x=
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
encontrarm yb 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:
A= 2 1
−1 1
−2 1
0 1 3 1
, ~b=
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,4419
M´
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 Aesparcida (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
error. La estimaci´on de la soluci´on obtenida~x(k), puede considerarse como vector inicial (sin errores) para la iteraci´on
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
dondeBes la matriz del m´etodo y Ces un vector.
Los problemas asociados con los m´etodos iterativos son:
ConvergenciaPara 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 queA.
L= Matriz con todos los t´erminos nulos, excepto los que est´an por debajo de la diagonal en los que coincide conA.
R= Matriz con todos los t´erminos nulos, excepto los que se encuentran por encima de la diagonal en los que coincide conA.
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,
--> [x3,res,rad,BJ,CJ]=jacobi(A,b,3,[2;3;0]):
~x(3)=
−0,0160 1,7333 1,7680
→res~ =
1,3519
−0,5361 1,3439
⇒
kres~ k1= 3,2319 kres~ k∞= 1,3519
kres~ k2= 1,9802
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
Errores en los m´
etodos iterativos
El error cometido en un m´etodo iterativo tras miteraciones puede
acotarse mediante:
k~x(m)−~x∗k∞= k∆~x(m)k∞ ≤ kBkm
∞k~x(1)−~x(0)k∞ 1− kBk∞
dondeB (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 quekBk∞ 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∞≤ n
3n1
1−n = 4,096
¿Cu´antas iteraciones ser´an necesarias para obtener un error menor que
C´
alculo de autovalores
Scilab calcula los autovalores de una matrizAcon la orden
spec(A), si queremos adem´as la matriz diagonal V y la matriz de
pasoX, 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 sistemaAx=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 sistemaAx=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 corrienteI1,I2,I3 cuando
R1 = 1,R2 = 1,R3 = 2,R4 = 1,R5= 2,R6= 4 y
E1 = 23,E2= 29. Calcular tambi´en paraE1 = 12,E2 = 21,5.
Resolver por los distintos m´etodos estudiados, calcular errores y
Ejercicio 7
Dado el sistemaAx=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