Está en la página 1de 53

Sistemas de Ecuaciones

Lineales I
matricial. Dificultades numericas.

Preliminares: Expresion
Gaussiana. Relacion
con la factorizacion
LU.
LU: Eliminacion
Factorizacion

Pivoteo: Estrategia de pivoteo parcial.

a matrices con estructuras particulares: Metodo


Adaptacion
de Cholesky. Matrices
banda y tridiagonales.
Estimacion
a posteriori del error.
de errores: Numero
de condicion.
Propagacion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-1-

DMFA Universidad Catolica


de la Santsima Concepcion

matricial
Expresion
Todo sistema de ecuaciones lineales puede escribirse matricialmente:

a11 x1 + + a1n xn = b1

..
..

Ax = b,
.
.

a x + + a x
= bn
n1 1
nn n
donde

a
11
.
A := ..

an1
son los datos y

a1n
..
.

Rnn

ann

x
1
.
x = .. Rn

xn

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-2-


b
1
.
b = .. Rn

bn

es el vector de incognitas.

DMFA Universidad Catolica


de la Santsima Concepcion

Matriz inversa
unica
si A es una
El sistema de ecuaciones lineales Ax = b tiene solucion
si y solo

matriz no singular.
Recordemos que una matriz A

si se cumple cualquiera
Rnn es no singular si y solo

de estas condiciones:
1.

A es invertible:

2.

det(A) 6= 0;

A1 Rnn : AA1 = A1 A = I ;

3. todas las filas (y columnas) de A son l.i.:


4.

0 no es valor propio de A:

rango(A) = n.

0
/ (A).

Si A es no singular, entonces
Ax = b

x = A1 b.

Sin embargo, en general, no es conveniente calcular la matriz inversa A

para resolver

costoso
un sistema de ecuaciones, pues hacerlo as resulta mucho mas
computacionalmente.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-3-

DMFA Universidad Catolica


de la Santsima Concepcion

Matriz inversa (cont.)


Por el contrario, una manera natural de calcular la inversa de una matriz A Rnn
consiste en resolver n sistemas de ecuaciones lineales. Si llamamos c1 , . . . , cn a las
1
columnas de A :







1
1
n
n
1


A = c cn
,
c
,
.
.
.
,
c

R
,





entonces



Ac1 Acn = A c1 cn = AA1 = I = e1 en ,



donde las columnas e1 , . . . , en de I son los vectores de la base canonica


de Rn . Por lo
tanto, A

puede calcularse columna por columna resolviendo:

Aci = ei ,

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-4-

i = 1, . . . , n.

DMFA Universidad Catolica


de la Santsima Concepcion


Dificultades numericas
un algoritmo para resolver un
Los siguientes aspectos deben tenerse en cuenta al disenar
sistema de ecuaciones lineales:

Costo operacional. El tiempo de calculo


del computador necesario para resolver el
sistema debe ser lo menor posible.

Una medida standard del costo operacional es la cantidad de operaciones aritmeticas

(+, , , /) que requiere un algoritmo. Este


usualmente se expresa en flop (floating
point operations).

Costo de almacenamiento. La cantidad de posiciones de memoria que requiere el


de los datos, variables auxiliares,
computador para ejecutar un algoritmo (representacion
debe ser la menor posible.
etc.) tambien
de los resultados. Los algoritmos deben ser estables, en el sentido de amplificar
Precision
lo menos posible los errores de los datos y los de redondeo.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-5-

DMFA Universidad Catolica


de la Santsima Concepcion

Costo operacional
Un sistema de
Los sistemas que aparecen en muchas aplicaciones son de gran tamano.
moderado y en algunas aplicaciones deben
1000 1000 hoy se considera de tamano

resolverse sistemas de ecuaciones con cientos de miles de incognitas.

Hay metodos
que en teora permiten resolver cualquier sistema de ecuaciones lineales,

pero que en la practica


requieren tiempos de calculo
prohibitivos.

Mal ejemplo: Regla de Cramer. Este procedimiento permite calcular explcitamente la


de un sistema Ax = b mediante:
solucion
xi =

det(Ai )
,
det(A)

i = 1, . . . , n,

donde Ai es la matriz que se obtiene a partir de A reemplazando


en esta
su columna

i-esima
por el segundo miembro b.

Si los determinantes se calculan mediante la formula


recursiva usual de desarrollo por fila
(o por columna), el costo operacional de la Regla de Cramer es de aproximadamente

(n + 1)! flop.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-6-

DMFA Universidad Catolica


de la Santsima Concepcion

Costo operacional (cont.)

Gaussiana. Este procedimiento se basa en el


Buen ejemplo: Metodo
de Eliminacion

metodo
algebraico de transformaciones elementales. Su costo operacional veremos
que es de aproximadamente 23 n3 flop.

Comparacion:
En un computador de 1 Gflop (109 flop) por segundo:

10

15

20

100

1000

2000

Regla de Cramer
flop

4 107

2 1013

5 1019

10160

tiempo

0.04 s

5.5 horas

1500 anos

Gaussiana
Eliminacion
flop

666

2250

5333

7 105

7 108

5 109

tiempo

0. s

0. s

0. s

0s

0.73 s

4.88 s

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-7-

DMFA Universidad Catolica


de la Santsima Concepcion

Costo de almacenamiento
En muchas aplicaciones los sistemas de ecuaciones lineales que deben resolverse
pero tales que la mayor parte de sus entradas son
involucran matrices de gran tamano,
nulas.
y en M ATLAB, sparse) y
Estas matrices se denominan dispersas o ralas (en ingles

requieren una cantidad de posiciones de


existen tecnicas
para almacenarlas que solo
memoria aproximadamente igual al numero
de entradas no nulas de la matriz.

Los metodos
algebraicos usuales (por ejemplo el de transformaciones elementales)

requieren modificar la matriz original del sistema y, muchas veces, destruyen el caracter
disperso de la misma.
otros procedimientos (metodos

Para evitar esto, estudiaremos tambien


iterativos) que no
mas
convenientes desde el punto de
modifican la matriz del sistema, por lo que resultaran
vista del costo de almacenamiento.

exacta del sistema, sino en construir


Estos metodos
no se basan en calcular la solucion
iterativamente aproximaciones cada vez mejores de la misma.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-8-

DMFA Universidad Catolica


de la Santsima Concepcion

de los resultados
Precision
de un sistema de ecuaciones lineales en el computador involucra la
La resolucion
de errores en los datos y errores de redondeo. Por ello:
propagacion
de un

1. Hay que disponer de alguna tecnica


que permita predecir cuando la resolucion

sistema de ecuaciones puede propagar drasticamente


estos errores.
metodos

de los
numericos
estables, que reduzcan la propagacion
2. Hay que disenar
errores de redondeo tanto como sea posible.
tecnicas

de calcular la
3. Hay que disenar
computacionales que nos permitan, despues
de un sistema de ecuaciones, estimar a posteriori la precision
de la solucion

solucion
calculada. Es decir, testear si el error con el que se la calculo esta por debajo de una
tolerancia aceptable.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

-9-

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas con matriz triangular


Solucion
Dadas

l11

l21
L=
..
.

ln1

0
l22

..

..
.

..
.

..

ln2

0
lnn

U =

u11

u12

u1n

u2n

..

.
unn

u22

..
.

..

..

decimos que L es triangular inferior y U es triangular superior.

Dado que
det(L) = l11 l22 lnn

det(U ) = u11 u22 unn ,

si sus terminos

una matriz triangular es no singular si y solo


diagonales son todos no
nulos.
de sistemas de ecuaciones lineales con matrices triangulares es muy
La resolucion
sencilla y su costo operacional es bajo.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 10 -

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas con matriz triangular (cont.)


Solucion
Consideremos un sistema Lx = b con matriz triangular inferior L. Procedemos por
progresiva:
sustitucion

l11 x1

l21 x1 + l22 x2

..

ln1 x1 + + lnn xn

b1

x1 = b1 /l11

b2

x2 = (b2 l21 x1 ) /l22

..
.

bn

xn = (bn ln1 x1 lnn1 xn1 ) /lnn

Para i

Algoritmo:

Costo operacional:

= 1, . . . , n

i1
X
1
lij xj
bi
xi =
lii
j=1
n
X
i=1

1 +

Calculo
Numerico
IN1012C/IN1052C/MAT221N

i1
X
j=1

2 =

- 11 -

n
X

(2i 1) = n2 flop.

i=1

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas con matriz triangular (cont.)


Solucion
Ejercicio:
1. Deducir el siguiente algoritmo para resolver un sistema U x

= b con matriz triangular

superior U :
Para i

= n, n 1, . . . , 1

n
X
1
uij xj
bi
xi =
uii
j=i+1

2. Calcular su costo operacional.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 12 -

DMFA Universidad Catolica


de la Santsima Concepcion


Gaussiana (M.E.G.)
Metodo
de Eliminacion

gaussiana consiste en reducir mediante transformaciones


El metodo
de eliminacion
elementales un sistema Ax = b a otro equivalente (es decir, que tenga la misma

solucion),
de la forma

U x = b,
donde U es una matriz triangular superior. Luego, el sistema resultante se resuelve por
el algoritmo descrito para matrices triangulares.

Denotemos el sistema original por A(1) x = b(1) . El proceso empleado consiste en


reemplazar las ecuaciones por combinaciones no triviales de las otras. As, consideremos
la matriz no singular A

(1)

Rnn y supongamos que el elemento a11 es no nulo.

Consideremos los multiplicadores


(1)

mi1 =

ai1

(1)
a11

i = 2, . . . , n,

(1)

donde aij donota el elemento que esta en la fila i y columna j de A(1) .

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 13 -

DMFA Universidad Catolica


de la Santsima Concepcion


Gaussiana (cont.)
Metodo
de Eliminacion

en adelante, por simple


Es posible eliminar la incognita
x1 de la segunda ecuacion
a la fila i, i = 2, . . . , n, de la primera fila previamente multiplicada por mi1 y
sustraccion
haciendo lo mismo para el vector b:
(2)

(1)

(1)

(1)

mi1 b1 ,

aij = aij mi1 a1j ,


(2)

bi
(1)

donde bi

= bi

(1)

i, j = 2, . . . , n,
i = 2, . . . , n,

denota la componente i-esima


del vector b(1) .

As se obtiene un sistema A(2) x = b(2) equivalente al anterior:


(1)
(1)
(1)
(1)
(1)
a11 a12 a13 a1n
x1
b1

(2)
(2)
(2)
(2)
0

a22 a23 a2n

x 2 b2

(2)
(2)
(2)
(2)
0

a32 a33 a3n

x 3 = b3
.
.
..
..
.. ..
..

..
.
.
. .

(2)
(2)
(2)
(2)
0
an2 an3 ann
xn
bn

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 14 -

DMFA Universidad Catolica


de la Santsima Concepcion


Gaussiana (cont.)
Metodo
de Eliminacion
(2)

si a22 6= 0, podemos analogamente

A continuacion,
eliminar la incognita
x2 de la
en adelante.
tercera ecuacion

Siguiendo con este proceso un numero


finito de veces se obtiene el sistema

A(k) x = b(k) ,

1 k n,

donde la matriz A(k) toma la siguiente forma:

(k)

(1)
a11

.
.
.
=
..
.

.
..

(1)
a12
(2)
a22

..

..

..
.

.
(k)

akk

..
.

..
.

ank

(k)

(i)

Para realizar este proceso hemos supuesto que aii

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 15 -

(1)
a1n

(2)
a2n

(k)
akn

..
.

(k)
ann

6= 0, i = 1, . . . , k 1.

DMFA Universidad Catolica


de la Santsima Concepcion


Gaussiana (cont.)
Metodo
de Eliminacion
Notemos que para k = n obtenemos el sistema triangular superior
(1)
(1)
(1)
(1)
a11 a12 a1n
x1
b1

(2)
(2)
(2)
0

a22 a2n

x 2 b2
.
. = .
..
..
..
..

..
.
.
. ..

(n)
(n)
0

0 ann
xn
bn
(k)

Los valores akk son llamados pivotes y deben ser valores no nulos para
k = 1, . . . , n 1.
(n)

ann 6= 0 y el sistema triangular


Si la matriz original A es no singular, entonces tambien
superior resultante puede resolverse por el algoritmo ya visto:
Para i

Calculo
Numerico
IN1012C/IN1052C/MAT221N

= n, n 1, . . . , 1

n
X
1 (i)
(i)
aij xj
xi = (i) bi
aii
j=i+1
- 16 -

DMFA Universidad Catolica


de la Santsima Concepcion

Algoritmo del M.E.G.

Recordemos que en el paso k -esimo


se parte de la siguiente matriz:

(1)
a11

.
.
.

..
.

.
..

(1)
a12
(2)
a22

..

..

(1)

a1n

(2)
a2n

..
.

.
(k)

akk

..
.

..
.

ank

(k)

(k)
akn

..
.

(k)
ann

Para k

para i

Para i

= 1, . . . , n 1
= k + 1, . . . , n
(k)

(k)

mik = aik /akk


para j

= k + 1, . . . , n

(k+1)

aij
(k+1)

bi

(k)

(k)

= aij mik akj


(k)

= bi

(k)

mik bk

= n, n 1, . . . , 1

n
X
1 (i)
(i)
aij xj
xi = (i) bi
aii
j=i+1

El algoritmo no precisa crear los ceros debajo de la diagonal de la matriz,


Observacion:

pues estos
luego no se utilizan.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 17 -

DMFA Universidad Catolica


de la Santsima Concepcion

Costo Operacional del M.E.G.

Costo del paso de eliminacion:


Para k

= 1, . . . , n 1

para i

= k + 1, . . . , n

mik =
para j

n
n
n1

X
X X
1 +

2 + 2

= k + 1, . . . , n

(k+1)

aij

(k+1)
bi

k=1

(k)
(k)
aik /akk

(k)

(k)

i=k+1

n1
X

j=k+1

(n k) [2(n k) + 3]

k=1

= aij mik akj

(k)
bi

(k)
mik bk

2 3 1 2 7
n + n n
3
2
6

flop

de sistema triangular superior:


Costo de la solucion
n2 flop.


2 3 3 2 7
Costo operacional total:
n + n n flop.
3
2
6

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 18 -

DMFA Universidad Catolica


de la Santsima Concepcion

Costo Operacional del M.E.G. (cont.)


n

Eliminacion

Sist. Triang.

Total M.E.G.

10

705

100

805

20

5510

400

30

18415

40

2 3
n
3

% Elim

% S. T.

666

87.58

12.42

5910

5333

93.23

6.77

900

19315

18000

95.34

4.66

43420

1600

45020

42666

96.45

3.55

50

84525

2500

87025

83333

97.13

2.87

100

671550

10000

681550

666666

98.53

1.47

200

5353100

40000

5393100

5333333

99.26

0.74

300

18044650

90000

18134650

18000000

99.50

0.50

400

42746200

160000

42906200

42666666

99.63

0.37

500

83457750

250000

83707750

83333333

99.70

0.30

600

144179300

360000

144539300

144000000

99.75

0.25

700

228910850

490000

229400850

228666666

99.79

0.21

800

341652400

640000

342292400

341333333

99.81

0.19

900

486403950

810000

487213950

486000000

99.83

0.17

1000

667165500

1000000

668165500

666666666

99.85

0.15

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 19 -

DMFA Universidad Catolica


de la Santsima Concepcion

Costo Operacional del M.E.G. (cont.)

Para n grande, los terminos


proporcionales a n2 (y a n) resultan despreciables respecto a
los proporcionales a n3 .
el costo operacional del metodo

gaussiana se dice que


de eliminacion
Por esa razon,
es de aproximadamente

2 3
n flop
3
de la matriz:
Notemos que la mayor parte del costo corresponde a la triangularizacion
Para k

= 1, . . . , n 1

para i

= k + 1, . . . , n
(k)

(k)

mik = aik /akk


para j

Costo operacional:

2 3
n flop.
3

= k + 1, . . . , n

(k+1)

aij

(k)

(k)

= aij mik akj

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 20 -

DMFA Universidad Catolica


de la Santsima Concepcion

LU
Factorizacion
Ejemplo:

A=
2 8
4 6

m21 = 2

U :=
0
0

2
0

Notemos que

LU =
2
4

m31 = 4

1 3

3 L :=
m21
12
m31
0 0

1 3

1 0
0
3 1
0

Calculo
Numerico
IN1012C/IN1052C/MAT221N

2
0
- 21 -

m32 = 3
0

3
0

0
= 2 1
1
4 3

m32

3
= 2 8
12
4 6

12
0

1
=A
5

DMFA Universidad Catolica


de la Santsima Concepcion

LU (cont.)
Factorizacion
del M.E.G. se puede llevar a cabo (es
Si la matriz A es tal que la etapa de eliminacion
(i)
decir si todos los pivotes aii 6= 0, i = 1, . . . , n 1), entonces

A = LU ,
donde:

y
U es la matriz triangular superior que resulta de la eliminacion

L es la matriz triangular inferior de los multiplicadores mij :

1
0

..
..

.
m21
.
1

L= .

..
..
..
.
.
0

mn1

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 22 -

mnn1

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas mediante factorizacion


LU
Solucion
Si A = LU , entonces

Ly = b,
Ax = b L(U x) = b
U x = y.

Por lo tanto, resolver un sistema Ax


1. resolver Ly

= b y, luego,

2. resolver U x

= y.

= b es equivalente a:

Como estos sistemas son triangulares (inferior y superior, respectivamente), el costo


operacional de resolver los dos sistemas es 2n2 flop.
Factorizar la matriz A = LU consiste simplemente en:
gaussiana y
triangularizar A por eliminacion
almacenar la matriz triangular L de multiplicadores.
Por lo tanto, el costo de factorizar la matriz A

= LU es 32 n3 flop.

Como 2n2 32 n3 , el costo operacional total para resolver un sistema mediante


LU es 23 n3 flop.
factorizacion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 23 -

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas mediante factorizac. LU (cont.)


Solucion
Muchas veces deben resolverse varios sistemas de ecuaciones con la misma matriz y
1
m
1
distintos segundos miembros b , . . . , b (por ejemplo, para calcular A ).
En tal caso, conviene primero factorizar la matriz A = LU (una sola vez!) y luego
resolver los pares de sistemas triangulares para cada segundo miembro:

Ly 1 = b1 ,
U x1 = y 1 ,

Ly m = bm ,
U xm = y m .

costosa del proceso (la factorizacion:


32 n3 ) se hace una sola vez y solo
As, la parte mas
de los sistemas triangulares: 2n2 ).
se repite la parte menos costosa (la solucion
LU
Hay algoritmos (Crout, Doolitle) que permiten obtener directamente la factorizacion
gaussiana.
de una matriz, pero el costo es el mismo que el de hacerlo por eliminacion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 24 -

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas mediante factorizac. LU (cont.)


Solucion
gaussiana):
Algoritmo (por eliminacion

Observacion:
La matriz triangular superior puede calcularse utilizando las mis-

Para k

para i

Para i

= 1, . . . , n 1

mas posiciones de memoria en las que

(k)

(k)

mik = aik /akk


para j

= k + 1, . . . , n

(k+1)

aij

(k)

(k)

= aij mik akj

= 1, . . . , n
i1
X
y i = bi
mij yj
j=1

Para i

inicialmente esta almacenada A.

= k + 1, . . . , n

A fin de no tener que utilizar una matriz


para guardar L, pueden almacenarse
mas
cada multiplicador mij en lugar de la
entrada aij que se hace cero en ese paso.

Esta
no es la forma en que procede M ATLAB ,

pues este software no pretende opti-

mizar el costo de almacenamiento.

= n, n 1, . . . , 1

n
X
1
(i)
aij xj
xi = (i) yi
aii
j=i+1

Sin embargo, hay mucho software que uti-

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 25 -

liza este truco a fin de evitar tener que usar


memoria adicional para almacenar los multiplicadores.

DMFA Universidad Catolica


de la Santsima Concepcion

Necesidad del pivoteo


Para k

para i

gaussiana (o
El algoritmo de eliminacion

= 1, . . . , n 1
mik =
para j

LU) solo
puede lleel de factorizacion

= k + 1, . . . , n

varse a cabo si todos los pivotes son

(k)
(k)
aik /akk

no nulos:
(k)

= k + 1, . . . , n

(k+1)

aij

(k)

akk 6= 0.
(k)

= aij mik akj

Ejemplo. El sistema de ecuaciones siguiente tiene matriz no singular pues su


determinante es 1:


0 1 1
x1
2


1 2 3 x2 = 4


2 0 1
x3
0
Sin embargo el algoritmo anterior no puede aplicarse pues a11
(1)

(1)

(1)

= 0 y, por lo tanto,

(1)

definidos.
m21 = a21 /a11 y m31 = a31 /a11 no estan

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 26 -

DMFA Universidad Catolica


de la Santsima Concepcion

Necesidad del pivoteo (cont.)


con
Para poder resolver el sistema, debe intercambiarse la primera ecuacion
cualquiera de las otras de manera de evitar el pivote cero. Por ejemplo, asi:


1 1
x1
2


2 3
x 2 = 4
0 1
x3
0


2 3
x1
4


1 1
x 2 = 2
0 1
x3
0

de eliminacion
Por otra parte, puede demostrarse que la estabilidad del metodo

de errores de redondeo se deteriora si los


gaussiana en cuanto a propagacion

multiplicadores mij son numeros


muy grandes en modulo.

Una forma de evitar ambos inconvenientes, pivotes nulos y multiplicadores grandes en

modulo,
es realizar en cada paso el intercambio de ecuaciones que produzca el pivote

mayor posible en modulo.


Esto estrategia se denomina pivoteo parcial.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 27 -

DMFA Universidad Catolica


de la Santsima Concepcion

Estrategia de pivoteo parcial

(1)
a11

0
..
.
..
.
..
.

(1)
a12
(2)
a22

..

..

(1)
a1n

(2)
a2n

..
.

.
(k)

akk

..
.

..
.

(k)
ank

(k)
akn

..
.

(k)
ann

En el paso k -esimo
se revisa el vector

(k)
a
kk
..
.

(k)
ank
y se busca la fila

l en la que aparece la en-

trada mayor en modulo:



o
n
(k)
(k)
k l n : alk = max aik .
kin

Luego, si l 6= k , se intercambia esa fila con la k -esima.

Si la matriz es no singular, siempre habra una entrada no nula en ese vector, por lo que
as se evitan los pivotes nulos.




(k) (k)
despues del intercambio, akk aik , i = k, . . . , n. Por lo tanto, los
Ademas,

multiplicadores no pueden pasar de 1 en modulo:





(k) (k)
|mik | = aik / akk 1,
i = k, . . . , n.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 28 -

DMFA Universidad Catolica


de la Santsima Concepcion


Matrices de permutacion
Si hay intercambios de filas, las matrices triangulares L y U que se obtienen por el

gaussiana con estrategia de pivoteo parcial, ya no factorizan


metodo
de eliminacion
de aplicar a A todos los
a A, sino que factorizan a la matriz que se obtiene despues
intercambios de filas que tuvieron lugar.
a toda matriz que se obtenga intercambiado filas de I .
Se llama matriz de permutacion
3 3:
Por ejemplo, las siguientes son todas las matrices de permutacion

1 0 0
1 0 0
0 1 0
0 1 0
0 0 1
0 0 1

0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0

0 0 1
0 1 0
0 0 1
1 0 0
1 0 0
0 1 0

Los intercambios de filas de una matriz se obtienen multiplicando a izquierda por una
Por ejemplo:
matriz de permutacion.

1
0
0

Calculo
Numerico
IN1012C/IN1052C/MAT221N

0
1

1
4
0
7

- 29 -

2 3

5 6
= 7
8 9
1

8
2

DMFA Universidad Catolica


de la Santsima Concepcion

LU con estrategia de pivoteo parcial


Factorizacion
Teorema. Si A es una matriz no singular, entonces existen matrices no singulares L
P , tales que
triangular inferior y U triangular superior y una matriz de permutacion
LU = P A.

gaussiana con
Estas matrices pueden obtenerse mediante el metodo
de eliminacion
estrategia de pivoteo parcial.

Si se debe resolver un sistema Ax = b, se procede as:

Ly = P b,
Ax = b P Ax = P b L(U x) = P b
U x = y.

gaussiana con estrategia de pivoteo parcial resulta estable


El metodo
de eliminacion
de errores de redondeo.
respecto a la propagacion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 30 -

DMFA Universidad Catolica


de la Santsima Concepcion

LU con pivoteo en M ATLAB


Factorizacion

>> A=[1 2 3;4 5 6;7 8 0];


>> [L,U]=lu(A)

Comando: [L,U]=lu(A)

L es una matriz psicologica-

L = 0.1429
0.5714
1.0000

1.0000
0.5000
0

0
1.0000
0

U = 7.0000
0
0
>> L*U
ans = 1
4
7

8.0000
0.8571
0

0
3.0000
4.5000

mente triangular inferior

U es una matriz triangular superior

L*U = A.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 31 -

2
5
8

3
6
0

DMFA Universidad Catolica


de la Santsima Concepcion

LU con pivoteo en M ATLAB (cont.)


Factorizacion

>> A=[1 2 3;4 5 6;7 8 0];


>> [L,U,P]=lu(A)

Comando:
[L,U,P]=lu(A)
L es una matriz triangular inferior
U es una matriz triangular superior

P es una matriz de permutacion

L = 1.0000
0.1429
0.5714

0
1.0000
0.5000

0
0
1.0000

U = 7.0000
0
0

8.0000
0.8571
0

0
3.0000
4.5000

L*U = P*A.
P =

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 32 -

0
1
0

0
0
1

1
0
0

DMFA Universidad Catolica


de la Santsima Concepcion

LU con pivoteo en M ATLAB (cont.)


Factorizacion

>> L*U

Comando:
[L,U,P]=lu(A)
L es una matriz triangular inferior

ans = 7
1
4

8
2
5

0
3
6

8
2
5

0
3
6

U es una matriz triangular superior

P es una matriz de permutacion

L*U = P*A.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

>> P*A
ans = 7
1
4

- 33 -

DMFA Universidad Catolica


de la Santsima Concepcion

Matrices banda
Se dice que A = (aij ) Rnn es una matriz banda si aij = 0 cuando |i j| ,
con n. Al numero
se lo llama el ancho de banda de la matriz.

0 0

.
.. . .

..
..
.
.
.
.
.
.

..
..

.
.
0

..
..

.
.

..
.. . .
..
..
.
.
.
.

0 0

Las matrices banda son un caso especial de matrices dispersas y, como tales, deben
almacenarse como sparse en M ATLAB a fin de reducir el costo de almacenamiento.

Estas matrices aparecen muy habitualmente en las aplicaciones; especialmente en la


de problemas de valores de contorno para ecuaciones diferenciales.
resolucion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 34 -

DMFA Universidad Catolica


de la Santsima Concepcion

LU de matrices banda
Factorizacion
Si una matriz banda A puede factorizarse LU sin necesidad de pivoteo, entonces las
son banda con el mismo ancho de banda que A.
matrices triangulares L y U tambien

.
.
.

A=

.
.
.

..

..

..

..

..

..

..

..

..

..

.
..

.
.
.

.
.

0
.

..

..

0
..
.
..
.
..
.

..

..

..

..

..

..

..

..

0
..
.

..

LU sin pivoteo preserva la estructura banda de las


Por eso se dice que la factorizacion
matrices.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 35 -

DMFA Universidad Catolica


de la Santsima Concepcion

Matrices tridiagonales
Un caso extremo de matrices banda es el de las matrices tridiagonales ( = 2):

b1 c 1
0
0

..
..
..
..

.
.
.
.
a 2

nn
A = 0 ... ... ...

..
..
..
..
. cn1
.
.

0 0 an
bn

muy habitualmente, por ejemplo, al interpolar por splines


Estas matrices aparecen tambien
o al resolver problemas de valores de contorno para ecuaciones diferenciales ordinarias.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 36 -

DMFA Universidad Catolica


de la Santsima Concepcion

LU de matrices tridiagonales
Factorizacion
Cuando se cumplen las siguientes desigualdades,
|b1 | > |c1 |,
|bi | |ai | + |ci |,

i = 2, . . . , n 1,

|bn | > |an |,


las matrices tridiagonales pueden factorizarse LU sin necesidad de pivoteo y este
de errores de redondeo:
procedimiento resulta estable respecto a la propagacion

A=
0

.
.
.

..

..

..

..

..

..

.
.

..

..

Calculo
Numerico
IN1012C/IN1052C/MAT221N

01

..

..

..

..

..

..

..

..

..

..
.
..
.

..

..

n1

U
- 37 -

DMFA Universidad Catolica


de la Santsima Concepcion


Las entradas i , i y i de las matrices L y U pueden calcularse muy facilmente:

b1

a
2

..
.

c1

..

b2

c2

..

..

..

..

..

..

an

.
.

.
2


=
0
0

..

cn1
.
0
bn
0

..

..

..

..

..

..

..

1
0

.
.
. 0

. .
. .
. .

..

0
.
0
1

.
.

..

..

..

..

n1

1 = b1

11 = c1

1 = c1

2 1 = a2

2 = a2 /1

2 1 + 12 = b2

2 = b2 2 1

12 = c2

2 = c2

n1

n
.
.
.

n n1 = an

n = an /n1

n n1 + 1n = bn

n = bn n n1

- 38 -

..

Calculo
Numerico
IN1012C/IN1052C/MAT221N

11 = b1

DMFA Universidad Catolica


de la Santsima Concepcion

LU de matrices tridiagonales (cont.)


Factorizacion
As obtenemos el siguiente algoritmo (Algoritmo de Thomas):
11 = b1

11 = c1

1 = c1

2 1 = a2

2 = a2 /1

2 1 + 12 = b2

2 = b2 2 1

12 = c2

2 = c2

1 = b1

n n1 = an

n = an /n1

n n1 + 1n = bn

n = bn n n1

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 39 -

1 = b1
Para i

= 2, . . . , n

i1 = ci1
i = ai /i1
i = bi i i1

Costo operacional:
n
X

3 = 3(n1) flop

i=2

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas con matrices tridiagonales


Solucion
LU,
Al resolver un sistema Ax = d con matriz A tridiagonal, a partir de su factorizacion

Ly = d,
Ax = d L(U x) = d
U x = y,
pueden resolverse muy facilmente:

los sistemas triangulares tambien

..
.

..

..

..

..

..

..

..

d1
y1


.
.

. y2
d2

.
. .

. . = .
. .
.

0 yn1 dn1

dn
yn
1
0

y1 = d1
Para i

= 2, . . . , n

yi = di i yi1

Costo operacional:
n
X

2 = 2(n1) flop

i=2

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 40 -

DMFA Universidad Catolica


de la Santsima Concepcion

de sistemas con matrices tridiagonales (cont.)


Solucion

..
.

..
.

..

..

..

..

..

..

..

n1

x1
y1
xn = yn /n

.
.
y
. x2
2
Para i = n 1, . . . , 1


.. ..

. = .
0
xi = (yi i xi+1 ) /i

n1 xn1 yn1

Costo operacional:
xn
n
yn
0

1+

n1
X

3 = 1+3(n1) flop

i=1

El costo total de resolver un sistema de ecuaciomes con matriz tridiagonal mediante el


algortimo de Thomas es de 3(n 1) + 2(n 1) + 1 + 3n 2 = 8n 7 flop.

gaussiana aplicado a ciegas sin


Comparese
este costo con el del metodo
de eliminacion
sacar provecho de la estructura tridiagonal de la matriz: 23 n3 .
Por ejemplo, un sistema 1000 1000 cuesta aproximadamente 666 666 666 flop por
M.E.G. y aproximadamente 8 000 flop mediante este algoritmo.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 41 -

DMFA Universidad Catolica


de la Santsima Concepcion

Matrices definidas positivas

Una matriz simetrica


A Rnn se dice definida positiva si

xt Ax > 0

x Rn : x 6= 0.

aparecen muy habitualmente, por ejemplo, al ajustar parametros

Estas matrices tambien


de un modelo por cuadrados mnimos o al resolver problemas de valores de contorno para
ecuaciones diferenciales.
si se

A es definida positiva si y solo


Teorema. Sea A Rnn una matriz simetrica.
cumple cualquiera de las siguientes condiciones:
1. los valores propios de A son todos positivos;
2. los determinantes de las submatrices principales de A son todos positivos;
3. existe una matriz L, triangular inferior y no singular, tal que A

= LLt .

Esta ultima
propiedad nos dice que si la matriz es simetrica
y definida positiva, siempre

en matrices triangulares sin necesidad de pivoteo.


puede obtenerse una factorizacion
no hace falta calcular la matriz triangular superior, pues es la transpuesta de
Ademas,
la triangular inferior. Veremos que esto reduce el costo operacional a la mitad.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 42 -

DMFA Universidad Catolica


de la Santsima Concepcion


Metodo
de Cholesky

Se aplica solamente a matrices simetricas


y definidas positivas.

Se basa en calcular directamente la matriz L tal que A = LLt .


Se procede como en el caso de matrices tridiagonales y se obtiene el siguiente algoritmo:

Para j

= 1, . . . , n
v
u
j1
u
X
2
ljk
ljj = tajj
k=1

para i

j=1

= j + 1, . . . , n

1
lij =
ljj

aij

Calculo
Numerico
IN1012C/IN1052C/MAT221N

j1
X

El costo operacional es:

!
j1
j1
n
n
X
X
X
X

2+
2
1+

lik ljk

k=1

- 43 -

k=1

i=j+1

k=1

13 n3 flop,

+ n races cuadradas.

DMFA Universidad Catolica


de la Santsima Concepcion


Metodo
de Cholesky (cont.)

Para resolver un sistema de ecuaciones Ax = b con matriz simetrica


y definida

de Cholesky, una vez calculada L, se tiene:


positiva por el metodo

Ly = b,
Ax = b L(Lt x) = b
Lt x = y.

Para resolver los sistemas Ly = b y Lt x = y , se utiliza el algoritmo que ya conocemos


para matrices triangulares, cuyo costo operacional es de 2n2 .

Por lo tanto el costo operacional total del metodo


de Cholesky es de 13 n3 . Vale decir,
aproximadamente la mitad que el del M.E.G.
se demuestra que si la matriz es simetrica

Ademas,
y definida positiva, los metodos
de
son estables respecto a la propagacion
de errores de redondeo sin
factorizacion
necesidad de estrategia de pivoteo.

de errores
En particular, el metodo
de Cholesky es estable respecto a la propagacion
de redondeo.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 44 -

DMFA Universidad Catolica


de la Santsima Concepcion

de Cholesky en M ATLAB
Factorizacion
A =

Comando: R=chol(A)
R es una matriz triangular superior

Rt *R = A.

2
-1
0
-1
2
-1
0
-1
2
>> R=chol(A)
R =
1.4142
-0.7071
0
1.2247
0
0
>> B=R*R
B =
2.0000
-1.0000
0

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 45 -

-1.0000
2.0000
-1.0000

0
-0.8165
1.1547

0
-1.0000
2.0000

DMFA Universidad Catolica


de la Santsima Concepcion

de errores en los datos (segundo miembro)


Propagacion
Consideremos el siguiente ejemplo:

0.10
1.00
x
2.0

1 =
.
x2
0.11 1.00
2.1

exacta: x =
Solucion

10.0

.
1.0

Supongamos que el segundo miembro b ha sido redondeado a un dgito decimal y que su


de este
valor redondeado a dos dgitos decimales es b = (2.00, 2.14)t . La solucion
nuevo sistema es:

0.10
1.00
x
2.00

1 =
.
0.11 1.00
x2
2.14

exacta: x =
Solucion

14.0

.
0.6

Notemos que un error de menos del 2% en los datos produjo un error del 40% en la

solucion!!!

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 46 -

DMFA Universidad Catolica


de la Santsima Concepcion

de errores en los datos (matriz)


Propagacion
Consideremos de nuevo el mismo ejemplo:

0.10
1.00
x
2.0

1 =
.
0.11 1.00
x2
2.1

exacta: x =
Solucion

10.0

.
1.0

Supongamos ahora que la entrada a11 de la matriz es en realidad 0.102 en lugar de


de este nuevo sistema es:
0.10 . La solucion

0.102
1.00
x
2.00
12.500

1 =
.

.
exacta: x =
Solucion
0.11
1.00
x2
2.1
0.725

Esta vez un error del 2% en los datos produjo un error de alrededor del 25% en la solucion.
Otra vez, los errores en los datos se amplificaron, pese a que no se ha usado

metodo
numerico
alguno!

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 47 -

DMFA Universidad Catolica


de la Santsima Concepcion

de errores en el segundo miembro


Propagacion
Supongamos que se quiere resolver el sistema Ax = b, pero que del segundo miembro

se conoce un valor aproximado b = b + b, sujeto a errores b.


b, solo

exacta del sistema Ax = b .


Sea x la solucion

aproximada x . Entonces,
Sea x = x x, el error de la solucion

1  kbk
kxk
kAk A
.
kxk
kbk

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 48 -

DMFA Universidad Catolica


de la Santsima Concepcion


Numero

de condicion
de la matriz A como
Se define el numero

de condicion
1
cond(A) := kAk A .

Dado que
kxk
aproximada x ,
: error relativo de la solucion
kxk
kbk

: error relativo del segundo miembro b ,


kbk
1  kbk
kbk
kxk


kAk A
= cond(A)
,
kxk
kbk
kbk
cond(A) es una cota del factor de propagacion
entre el
el numero

de condicion

aproximada x .
error relativo del dato b y el error relativo de la solucion

Para toda matriz no singular A, cond(A) 1.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 49 -

DMFA Universidad Catolica


de la Santsima Concepcion

de errores en los datos de un sistema


Propagacion
de la matriz de un sistema tambien
rige la propagacion
de errores
El numero
de condicion

en la misma matriz.

Teorema. Si Ax = b y (A + A)(x + x) = (b + b), con A no singular y A


kAk
como para que cond(A) kAk < 1, entonces,
suficientemente pequeno


cond(A)
kxk
kAk kbk

+
.
kAk
kxk
kAk
kbk
1 cond(A) kAk
La capacidad de propagar errores en los datos de un sistema Ax = b depende
esencialmente de la matriz A y no del segundo miembro b.
Si cond(A) 1 decimos que el sistema esta bien condicionado.
Si cond(A) 1 decimos que el sistema esta mal condicionado.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 50 -

DMFA Universidad Catolica


de la Santsima Concepcion

de errores de redondeo
Propagacion
de la matriz tambien
determina la capacidad de propagar los
El numero
de condicion

errores de redondeo cuando el sistema se resuelve computacionalmente.


del sistema Ax = b con A Rnn no singular y
Teorema. Sea x Rn la solucion
b Rn .
calculada mediante el metodo

gaussiana con
Rn la solucion
de eliminacion
.
estrategia de pivoteo parcial, en un computador con constante de precision
o
n
1
(k)
max
Sea p =
aij .
kAk 1i,j,kn

Sea x

Entonces, si el sistema no esta demasiado mal condicionado de manera que

del error relativo de la solucion

cond (A) < 1, se tiene la siguiente acotacion


calculada:

k
kx x
cond (A)
2n3 p
.
kxk
1 cond (A)

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 51 -

DMFA Universidad Catolica


de la Santsima Concepcion

de errores de redondeo (cont.)


Propagacion
calculada x
es muy grande,
La cota del teorema nos dice que si el error de la solucion
necesariamante se debe a alguna (o a varias) de estas razones:
del sistema n es muy grande;
1. la dimension

del computador no es suficientemente pequena;


2. la constante de precision
de la matriz cond(A) es demasiado grande.
3. el numero

de condicion
es el culpable?
Quien
calculada mala
solucion

del problema excesivamente grande

dimension
del computador (pocos dgitos)
mala precision

sistema mal condicionado

Teoremas analogos
valen para el metodo
de Cholesky, si la matriz A es simetrica
y
definida positiva, y para el algoritmo de Thomas, si la matriz A es tridiagonal y satisface
las desigualdades |b1 | > |c1 |, |bn | > |an | y |bi | |ai | + |ci |, i = 2, . . . , n 1.

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 52 -

DMFA Universidad Catolica


de la Santsima Concepcion

a posteriori del error de una solucion


calculada
Estimacion
exacta del sistema Ax = b y sea x
calculada.
x una solucion
Sea x la solucion
calculada x
.
el error de la solucion
Sea e := x x
calculada x
.
Sea r := b A
x el residuo de la solucion
calculada coincidira con la exacta.
Si el residuo fuera nulo (r = 0), la solucion

Si no, como
se puede estimar el error e? Notemos que

) = Ax A
Ae = A(x x
x = b A
x = r.
Por lo tanto, podemos proceder del siguiente modo:
1. Resolvemos computacionalmente

Ae = r.
calculada de este sistema e
no va a coincidir exactamente con el error e
2. La solucion
del mismo:
pero va a ser una aproximacion

e = k
e
ek kek.
3.

del tamano
del error e.
k
ek es una estimacion

Calculo
Numerico
IN1012C/IN1052C/MAT221N

- 53 -

DMFA Universidad Catolica


de la Santsima Concepcion

También podría gustarte