Está en la página 1de 21

Sistemas de Ecuaciones

Lineales III

Pivoteo: Estrategia de pivoteo parcial.


Adaptacion a matrices con estructuras particulares: Matrices banda y tridiagonales.
Metodo de Cholesky.

521230 -1- DIM Universidad de Concepcion


Necesidad del pivoteo

Para k = 1, . . . , n 1 El algoritmo de eliminacion gaussiana (o


el de factorizacion LU) solo puede lle-
para i = k + 1, . . . , n


(k) (k)
varse a cabo si todos los pivotes son



mik = aik /akk no nulos:

para j = k + 1, . . . , n (k)
akk 6= 0.


(k+1) (k) (k)
aij = 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 = 0 y, por lo tanto,
(1) (1) (1) (1)
m21 = a21 /a11 y m31 = a31 /a11 no estan definidos.

521230 -2- DIM Universidad de Concepcion


Necesidad del pivoteo (cont.)

Para poder resolver el sistema, debe intercambiarse la primera ecuacion con


cualquiera de las otras de manera de evitar el pivote cero. Por ejemplo, asi:

0 1 1 x1 2 1 2 3 x1 4

1 2 3 x2 = 4 0 1 1 x2 = 2

2 0 1 x3 0 2 0 1 x3 0

Por otra parte, puede demostrarse que la estabilidad del metodo de eliminacion
gaussiana en cuanto a propagacion de errores de redondeo se deteriora si los
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.

521230 -3- DIM Universidad de Concepcion


Estrategia de pivoteo parcial
En el paso k -esimo se revisa el vector
(1) (1) (1)

a11 a12 a1n (k)
a
(2) (2)
kk
0 a22 a2n ..
.
.. .. .. ..

. . . .
(k)
ank
..

(k) (k)

. 0 akk akn y se busca la fila l en la que aparece la en-


.. .. .. ..
. . . . trada mayor en modulo:

(k) (k)
(k)
n o
(k)
0 0 ank ann 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)
Ademas, despues del intercambio, akk aik , i = k, . . . , n. Por lo tanto, los
multiplicadores no pueden pasar de 1 en modulo:

(k) (k)
|mik | = aik / akk 1, i = k, . . . , n.
521230 -4- DIM Universidad de Concepcion

Matrices de permutacion
Si hay intercambios de filas, las matrices triangulares L y U que se obtienen por el
metodo de eliminacion gaussiana con estrategia de pivoteo parcial, ya no factorizan
a A, sino que factorizan a la matriz que se obtiene despues de aplicar a A todos los
intercambios de filas que tuvieron lugar.

Se llama matriz de permutacion a toda matriz que se obtenga intercambiado filas de I .


Por ejemplo, las siguientes son todas las matrices de permutacion 3 3:

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
matriz de permutacion. Por ejemplo:

0 1 0 1 2 3 4 5 6

0 0 1 4 5 6 = 7 8 9

1 0 0 7 8 9 1 2 3
521230 -5- DIM Universidad de Concepcion
LU con estrategia de pivoteo parcial
Factorizacion

Teorema. Si A es una matriz no singular, entonces existen matrices no singulares L


triangular inferior y U triangular superior y una matriz de permutacion P , tales que

LU = P A.

Estas matrices pueden obtenerse mediante el metodo de eliminacion gaussiana con


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.

El metodo de eliminacion gaussiana con estrategia de pivoteo parcial resulta estable


respecto a la propagacion de errores de redondeo.

521230 -6- DIM Universidad de Concepcion


LU con pivoteo en M ATLAB
Factorizacion

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


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

L = 0.1429 1.0000 0
Comando: [L,U]=lu(A) 0.5714 0.5000 1.0000
L es una matriz psicologica- 1.0000 0 0
mente triangular inferior
U = 7.0000 8.0000 0
U es una matriz triangular supe-
0 0.8571 3.0000
rior
0 0 4.5000
L*U = A.
>> L*U
ans = 1 2 3
4 5 6
7 8 0

521230 -7- DIM Universidad de 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 = 1.0000 0 0
[L,U,P]=lu(A) 0.1429 1.0000 0
0.5714 0.5000 1.0000
L es una matriz triangular inferior
U es una matriz triangular supe- U = 7.0000 8.0000 0
rior
0 0.8571 3.0000
P es una matriz de permutacion 0 0 4.5000
L*U = P*A.
P = 0 0 1
1 0 0
0 1 0

521230 -8- DIM Universidad de Concepcion


LU con pivoteo en M ATLAB (cont.)
Factorizacion

>> L*U

Comando: ans = 7 8 0
[L,U,P]=lu(A) 1 2 3
L es una matriz triangular inferior 4 5 6
U es una matriz triangular supe-
rior >> P*A

P es una matriz de permutacion


ans = 7 8 0
L*U = P*A.
1 2 3
4 5 6

521230 -9- DIM Universidad de 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 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


resolucion de problemas de valores de contorno para ecuaciones diferenciales.
521230 - 10 - DIM Universidad de Concepcion
LU de matrices banda
Factorizacion

Si una matriz banda A puede factorizarse LU sin necesidad de pivoteo, entonces las
matrices triangulares L y U tambien son banda con el mismo ancho de banda que A.
0 10 1
B 0 0 CB 0 0C
B. .. ..
B CB C
B. .. .. CB .. .. .. C
B. . . CB 0
. . . . .
CB C
C
B CB C
B
.. .. ..
CB .
CB
.. .. ..
C
CB ..
B C
B . . . . . . 0C
B CB C
A=B CB C
B
.. .. .. ..
CB .
CB . .. .. C
B0 C
B
. . .
C
B .
CB .
CB . . C
B CB C
B. .. .. .. CB . .. .. .. C
B. CB .
B.
B
. . . 0C
CB .
B . . .C
C
C
`
@ A@ A
0 0 0 0
L ` U

Por eso se dice que la factorizacion LU sin pivoteo preserva la estructura banda de las
matrices.

521230 - 11 - DIM Universidad de Concepcion


Matrices tridiagonales

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



b1 c 1 0 0
.. .. .. ..
a 2 . . .

.

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

0
. .. .. ..
.. . . . cn1

0 0 an bn

Estas matrices aparecen tambien muy habitualmente, por ejemplo, al interpolar por splines
o al resolver problemas de valores de contorno para ecuaciones diferenciales ordinarias.

521230 - 12 - DIM Universidad de 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
procedimiento resulta estable respecto a la propagacion de errores de redondeo:
0 10 1
B 1 0 0 CB 1 1 0 0 C
B CB C
B .. .. .. C B .. .. .. .. C
B 2 . . 0 . . .
B CB C
B .C CB
B . C
C
.. C ..
B CB C
B
A=B
.. .. .. B .. .. .. C
B 0 . . . .C . . . . 0 C
CB
B C
B CB C
B . .. .. .. .. .. ..
B CB C
B .
CB C
B .
B
. . . 0C CB
CB
B
. . . n1 C
C
C
@ A@ A
0 0 n 1 0 0 n

L U

521230 - 13 - DIM Universidad de Concepcion


Las entradas i , i y i de las matrices L y U pueden calcularse muy facilmente:
0 1 0 10 1
b1 c1 0 0 1 0 0 1 1 0 0
B C B CB C
.. . C .. .CB .. .
. C .CB .
B B C
Ba
B 2 b2 c2 . . C
B
B 2 1 . .CB 0 2 2 . .
C
C
B C B CB C
.. .. .. .. .. .. .CB . .. .. ..
=B .CB .
B C B C
B0
B . . . 0 CC B0 . . . .CB . . . . 0 CC
B .. C B .. C B ..
B C B CB C
.. .. .. .. .. .. .. C
B . . . . cn1 C . . . 0C . n1 n1 C
A @ . A@ .
B B
@ A
0 0 an bn 0 0 n 1 0 0 n

11 = b1 = 1 = b1
11 = c1 = 1 = c1
2 1 = a 2 = 2 = a2 /1
2 1 + 12 = b2 = 2 = b2 2 1
12 = c2 = 2 = c2

n n1 = an = n = an /n1
n n1 + 1n = bn = n = bn n n1
521230 - 14 - DIM Universidad de Concepcion
LU de matrices tridiagonales (cont.)
Factorizacion

As obtenemos el siguiente algoritmo (Algoritmo de Thomas):


1 = b1
11 = b1 = 1 = b1

Para i = 2, . . . , n


11 = c1 = 1 = c1





i1 = ci1
2 1 = a 2 = 2 = a2 /1




i = ai /i1


2 1 + 12 = b2 = 2 = b2 2 1




i = bi i i1
12 = c2 = 2 = c2







Costo operacional:

n n1 = an = n = an /n1



n
X
3 = 3(n1) flop


n n1 + 1n = bn = n = bn n n1

i=2

521230 - 15 - DIM Universidad de Concepcion


de sistemas con matrices tridiagonales
Solucion

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



Ly = d,
Ax = d L(U x) = d
U x = y,

los sistemas triangulares tambien pueden resolverse muy facilmente:

0 10 1 0 1
1 0 0 y1 d1
B CB C B C y1 = d 1
.. .CB
.CB
B C B C
B 1 . . C B y2 C B d2 C Para i = 2, . . . , n
C B C
B 2
B CB C B C
.. .. .. .CB . C . C
.CB . C = B . C
B B
B0 . . . .CB . C B . C yi = di i yi1

B
B ..
B CB C B C
.. .. .. CB C B C
B . . . . 0A @yn1 A @dn1 C
C B C B
@ A
Costo operacional:
0 0 n 1 yn dn
n
X
2 = 2(n1) flop
i=2

521230 - 16 - DIM Universidad de Concepcion


de sistemas con matrices tridiagonales (cont.)
Solucion
0 10 1 0 1
1 1 0 0 x1 y1
B CB C B C xn = yn /n
.. .. .. . CB
. CB
B C B C
B0 . . . . C B x2 C
C B y C
B
B CB
B 2 C
C B C Para i = n 1, . . . , 1
B .. .. .. .. C B .. C B .. C
B . C=B . C
. . . 0 C xi = (yi i xi+1 ) /i
B .
B CB C B C
B ..
B CB C B C
.. CB C B C
B . . n1 n1 A @xn1 A @yn1 C
C B C B
Costo operacional:
@ A
0 0 n xn yn
n1
X
1+ 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.

Comparese este costo con el del metodo de eliminacion gaussiana aplicado a ciegas sin
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.

521230 - 17 - DIM Universidad de Concepcion


Matrices definidas positivas

Una matriz simetrica A Rnn se dice definida positiva si


xt Ax > 0 x Rn : x 6= 0.

Estas matrices tambien aparecen muy habitualmente, por ejemplo, al ajustar parametros
de un modelo por cuadrados mnimos o al resolver problemas de valores de contorno para
ecuaciones diferenciales.

Teorema. Sea A Rnn una matriz simetrica. A es definida positiva si y solo si se


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
puede obtenerse una factorizacion en matrices triangulares sin necesidad de pivoteo.
Ademas, no hace falta calcular la matriz triangular superior, pues es la transpuesta de
la triangular inferior. Veremos que esto reduce el costo operacional a la mitad.

521230 - 18 - DIM Universidad de 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 El costo operacional es:


v
u j1
j1 j1
u X n n
!
ljj = tajj 2
ljk X X X X
2+ 1+ 2
k=1

j=1 k=1 i=j+1 k=1

para i = j + 1, . . . , n

13 n3 flop,

j1
!
1
X
lij = aij lik ljk




ljj + n races cuadradas.
k=1

521230 - 19 - DIM Universidad de Concepcion



Metodo de Cholesky (cont.)

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


positiva por el metodo de Cholesky, una vez calculada L, se tiene:

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.

Ademas, se demuestra que si la matriz es simetrica y definida positiva, los metodos de


factorizacion son estables respecto a la propagacion de errores de redondeo sin
necesidad de estrategia de pivoteo.
En particular, el metodo de Cholesky es estable respecto a la propagacion de errores
de redondeo.

521230 - 20 - DIM Universidad de Concepcion


de Cholesky en M ATLAB
Factorizacion

A =
2 -1 0
-1 2 -1
0 -1 2
>> R=chol(A)
R =
Comando: R=chol(A)
1.4142 -0.7071 0
R es una matriz triangular supe- 0 1.2247 -0.8165
rior 0 0 1.1547
Rt *R = A. >> B=R*R
B =

2.0000 -1.0000 0
-1.0000 2.0000 -1.0000
0 -1.0000 2.0000

521230 - 21 - DIM Universidad de Concepcion

También podría gustarte