Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo...

6

Click here to load reader

Transcript of Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo...

Page 1: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

Factorización LU de matrices cuadradas Antes de comenzar a ver este tema convendría hacer un repaso de las nociones de matrices:

Operaciones con matrices (Suma de matrices, producto por un escalar). Matrices cuadradas, matriz inversa de una matriz. Matriz fila, matriz columna. Matriz diagonal, matriz triangular.

En concreto, sobre este último aspecto tenemos:

a) Matriz diagonal:

11

22

33

44

0 0 00 0 00 0 00 0 0

dd

Dd

d

b) Matriz triangular superior (Upper triangular):

11 12 13 14

22 23 24

33 34

44

00 00 0 0

u u u uu u u

Uu u

u

c) Matriz triangular inferior (Lower triangular):

11

21 22

31 32 33

41 42 43 44

0 0 00 0

0

ll l

Ll l ll l l l

En los tres casos citados el determinante de la matriz es el producto de los elementos de la diagonal.

Matriz estrictamente dominante diagonalmente. Se dice que una matriz es estrictamente dominante diagonalmente si cumple:

1

n

ii ijii j

a a

Las matrices estrictamente dominantes diagonalmente son no singulares (su determinante es no nulo), además pueden resolverse por eliminación gaussiana sin intercambio de filas y por tanto pueden siempre factorizarse en la forma A = L.U.

Page 2: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

Ejemplo de matriz estrictamente dominante diagonalmente:

6 2 1 12 4 1 01 1 4 11 0 1 3

A

Para una matriz cuadrada A es muy útil descomponerla como producto de una matriz triangular inferior por una triangular superior: A = L . U La factorización L.U de una matriz cuadrada tiene la siguiente ventaja: Al operar con un sistema en la forma A . x = b, si expresamos A = L . U tendremos: L . U . x = b Y ahora podemos poner: U . x = L-1. b Y teniendo en cuenta que U es triangular y L-1 también es triangular, la solución del sistema se limita a:

1

1 ) .. .

) .a L b y

U x L bb U x y

Es decir, se resuelven dos sistemas triangulares (más simple y exacto que resolver uno no triangular): en a) se obtiene y, finalmente en b) se obtiene x. La factorización LU de una matriz cuadrada A se podría hacer por el método de Gauss (consultar las pag. 173-174 de “Curso de Métodos Numéricos” de Virginia Muto), sin embargo hay otros métodos como el de Doolittle, el de Crout, y el de Cholesky.

11 11 12 13 14

21 22 22 23 24

31 32 33 33 34

41 42 43 44 44

11 12 13 14

21 22 23 24

31 32 33 34

41 42 43 44

0 0 00 0 0

.0 0 0

0 0 0

l u u u ul l u u u

LUl l l u ul l l l u

a a a aa a a aa a a aa a a a

Page 3: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

Observad arriba que conocida A, tendríamos 16 ecuaciones con 20 incógnitas: lij, uij, sin embargo, nosotros podemos dar cualquier valor a 4 de ellas. Así hay dos métodos que se suelen utilizar: a) Método de Doolittle: se toman los cuatro elementos de la diagonal de L como ‘1’, lii=1 . b) Método de Crout: se toman los cuatro elementos de la diagonal de Ucomo ‘1’, uii=1. Nosotros aquí seguiremos el método de Doolittle, con un ejemplo. Sea dada A, entonces es sencillo hallar L y U, sin más que resolver un sistema:

11 12 13 14

22 23 24

33 34

44

21

31 32

41 42 43

00 00 0 0

1 0 0 0 6 2 1 11 0 0 2 4 1 0

1 0 1 1 4 11 1 0 1 3

u u u uu u u

Uu u

u

lL A

l ll l l

La forma de operar “manualmente” es:

- 1) Considerar el desarrollo de los elementos de la primera fila de A. - 2) Considerar el desarrollo de los elementos de la primera columna de A. - 3) Considerar el desarrollo de los elementos de la segunda fila de A. - Etc. etc.

Es decir, 111 12 13 14

11

6, 2, 1, 1 jij

au u u u u

l

Ahora continuamos con:

121 11 31 11 41 11 1

11

2, 1, 1 jj

al u l u l u l

u

Así obtenemos: 21 31 411 1 1, ,3 6 6

l l l .

Page 4: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

Hasta ahora tenemos:

11 22 23 24

33 34

44

32

42 43

6 2 1 1

0 00 0 0

1 0 0 0 6 2 1 11/ 3 1 0 0 2 4 1 01/ 6 1 0 1 1 4 11/ 6 1 1 0 1 3

u u u uU

u uu

L All l

Seguiríamos con la siguiente fila de U:

21 12 22 22 22 22 22 21 1222

21 13 22 23 23 23 23 21 1322

1 ( )

1 ( )

l u l u a u a l ul

l u l u a u a l ul

En realidad para obtener la segunda fila de U sirve la siguiente fórmula:

1

2 2 2122

1 i

j j k kjk

u a l ul

(j=1, …, 4)

Para una fila i-ésima de U serviría:

1

1

1 i

ij ij ik kjkii

u a l ul

De una manera análoga, la columna i-ésima de L se calcula por la fórmula:

1

1

1 i

ji ji jk kikii

l a l uu

Page 5: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

ALGORITMO DE FACTORIZACIÓN DE DOOLITTLE. Entrada: Elementos de A. Tomaremos inicialmente L= eye(4), U = zeros(4). Salida: Matrices L y U, producto L*U. Paso 1: Para j = 1, …, n tomar:

1

11

jij

au

l (primera fila de U).

11

11

jj

al

u (primera columna de L).

Paso 2: Para i = 2, 3,…, n-1 seguir paso 3. Paso 3: Para j = i+1, …, n tomar:

3-A: 1

1

i

ii ii ik kik

u a l u

;

4-A: 1

1

i

ij ij ik kjk

u a l u

;

5-A: 1

1

1 i

ji ji jk kikii

l a l uu

;

Paso 4: Para el último término, un,n :

Tomar: 1

1

n

nn nn nk knk

u a l u

Paso 5: (Salida): Desplegar L, U y L*U.

Page 6: Factorización LU de matrices cuadradas - ehu. · PDF file- 2) Considerar el desarrollo de los elementos de la primera columna de A. ... En el caso de que la matriz A, n x n, sea simétrica

MÉTODO DE CHOLESKI En el caso de que la matriz A, n x n, sea simétrica y definida positiva (Xt . A . X > 0), entonces A admite una factorización en la forma A = L.Lt, siendo L triangular inferior.

11 11 12 13 1411 21 31 41

21 22 21 22 23 2422 32 42

31 32 33 31 32 33 3433 43

41 42 43 44 41 42 43 4444

0 0 00 0 0

.0 0 0

0 0 0

t

l a a a al l l ll l a a a al l l

L Ll l l a a a al ll l l l a a a al

Los 10 elementos de L se obtienen a partir de los elementos conocidos de A: Algoritmo de Choleski Entrada: Matriz A, L = zeros(n) Salida: Matriz A, Matriz L, Matriz producto L*Lt. Paso 1: Tomar 11 11l a

Paso 2: Para j = 2,…, n tomar 11

11

jj

al

l ,

Paso 3: Para i = 2, … , n-1 seguir los pasos 4 y 5.

Paso 4: Tomar 1

2

1

i

ii ii ikk

l a l

Paso 5: Para j = i+1, … , n tomar:

1

1

1 i

ji ji jk ikkii

l a l ll

Paso 6: Tomar 1

2

1

n

nn nn nkk

l a l