Tema 4 Algebra lineal numerica

35  11  Descargar (0)

Texto completo

(1)

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

(2)

¿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

(3)

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]

(4)

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’

(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

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.

(6)

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.

(7)

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.

(8)

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:

(9)

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)

(10)

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λ217λ= 0

⇒λ1 = 0, λ2 ≈1,235, λ3 ≈13,765 luego

kAk2≈

(11)

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

(12)

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

(13)

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

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:

(14)

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.

(15)

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

(16)

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)

(17)

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

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=

(18)

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=

(19)

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

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

(20)

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

(21)

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?.

(22)

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.

(23)

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

(24)

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  

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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.

(30)

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

(31)

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

  

(32)

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.

(33)

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

(34)

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.

(35)

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

Figure

Actualización...

Referencias

Actualización...