25
Clase No. 4: Factorización LU MAT–251 Dr. Alonso Ramírez Manzanares CIMAT A.C. e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 1 / 16

Clase No. 4: Factorización LU - cimat.mxalram/met_num/clases/clase04.pdf · En el caso en que el sistema es consistente, ... a11 a12 a13 a1,n 1 a1n 0 a22 a23 a2,n 1 a2n ... De esta

Embed Size (px)

Citation preview

Clase No. 4:

Factorización LUMAT–251 Dr. Alonso Ramírez Manzanares

CIMAT A.C.e-mail: [email protected]: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: [email protected]

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 1 / 16

Paréntesis: Sobre la representación de punto flotante

Ejemplo: Si usamos 64 bits para representar a los números en lacomputadora, tendremos

264 = 18,446,744,073,709,551,616

números. Los números normalizados más chicos son del orden de 10−308 ylos más grandes del orden 10308. Los subnormales pueden más chicos que10−323.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 2 / 16

Eliminación Gaussiana

• El método de eliminación Gaussiana con pivoteo parcial es un métodoque indica cuando el sistema

Ax = b

es consistente o no.

• En el caso en que el sistema es consistente, también el método indica sihay solución única o no.

a11 a12 a13 · · · a1,n−1 a1n0 a22 a23 · · · a2,n−1 a2n0 0 a33 · · · a3,n−1 a3n...

......

. . ....

...0 0 0 · · · an−1,n−1 an−1,n0 0 0 · · · 0 ann

x1x2x3...

xn−1xn

=

b1b2b3...

bn−1bn

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 3 / 16

Complejidad del algoritmo

Sea M = [A |b]. Supongamos que no hace falta intercambiar filas, entoncesel algoritmo de eliminación Gaussiana es

for i=1:(n-1)for k=(i+1):n

alpha = -M(k,i)/M(i,i);for j=i:(n+1),

M(k,j) = M(k,j) + alpha*M(i, j);end

endend

Si contamos el número de operaciones vemos que el algoritmo es de orden

O(n3)

La factorización LU tiene la misma complejidad, pero tiene ciertas ventajasrealizarla.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 4 / 16

Matrices triangulares inferiores (I)

Consideremos el sistema

Lx = b, donde L =

l11 0 · · · 0l21 l22 · · · 0...

... · · ·...

ln1 ln2 · · · lnn

Proposición.

Sea L una matriz triangular inferior. El sistema Lx = b tiene solución si y sólosi los elementos de su diagonal son diferentes de cero.

Vimos que la solución se puede calcular mediante sustitución hacia adelante

xi =1

lii

bi −i−1∑

j=1

lijxj

!

• Como el sistema Lx = b tiene solución única para cada b, la matriz L esno singular.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 5 / 16

Elim. Gaussiana mediante producto de matrices (I)

Sea A la matriz

A =

a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44

,

y definamos

L1 =

1 0 0 0−l21 1 0 0−l31 0 1 0−l41 0 0 1

, li1 =

ai1

a11, i = 2,3,4.

Entonces

L1A =

a11 a12 a13 a140 a′22 a′23 a′240 a′32 a′33 a′340 a′42 a′43 a′44

Si definimos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 6 / 16

Elim. Gaussiana mediante producto de matrices (II)

L2 =

1 0 0 00 1 0 00 −l32 1 00 −l42 0 1

, li2 =

a′i2a′22

, i = 3,4.

entonces L2L1A =

a11 a12 a13 a140 a′22 a′23 a′24

0 0 a′′33 a′′34

0 0 a′′43 a′′44

L3 =

1 0 0 00 1 0 00 0 1 00 0 −l43 1

=⇒ L3L2L1A =

a11 a12 a13 a140 a′22 a′23 a′24

0 0 a′′33 a′′34

0 0 0 a′′′44

con l43 = a′′43/a′′33.

• A las matrices Li se les llama matrices triangulares inferioreselementales.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 7 / 16

Elim. Gaussiana mediante producto de matrices (III)

• El proceso de eliminación Gaussiana es una reducción a una formatriangular por medio de matrices triangulares inferiores elementales.

En general, tenemos que

Ln−1 · · ·L2L1A =U

donde U es una matriz triangular superior.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 8 / 16

Factorización LU

• Como los elementos de la diagonal de cada matriz Li es diferente decero, Li es no singular.

• El producto Ln−1 · · ·L2L1 es no singular, de modo que

Ln−1 · · ·L2L1 = L−1

• Tenemos entonces que

L−1A =U =⇒ A = LU

• La matriz L es triangular inferior,

L =

1 0 · · · 0 0l21 1 · · · 0 0l31 l32 · · · 0 0...

... · · ·...

...ln−1,1 ln−1,2 · · · 1 0ln1 ln2 · · · ln,n−1 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 9 / 16

Factorización LU

• Como los elementos de la diagonal de cada matriz Li es diferente decero, Li es no singular.

• El producto Ln−1 · · ·L2L1 es no singular, de modo que

Ln−1 · · ·L2L1 = L−1

• Tenemos entonces que

L−1A =U =⇒ A = LU

• La matriz L es triangular inferior,

L =

1 0 · · · 0 0l21 1 · · · 0 0l31 l32 · · · 0 0...

... · · ·...

...ln−1,1 ln−1,2 · · · 1 0ln1 ln2 · · · ln,n−1 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 9 / 16

Factorización LU

• Como los elementos de la diagonal de cada matriz Li es diferente decero, Li es no singular.

• El producto Ln−1 · · ·L2L1 es no singular, de modo que

Ln−1 · · ·L2L1 = L−1

• Tenemos entonces que

L−1A =U =⇒ A = LU

• La matriz L es triangular inferior,

L =

1 0 · · · 0 0l21 1 · · · 0 0l31 l32 · · · 0 0...

... · · ·...

...ln−1,1 ln−1,2 · · · 1 0ln1 ln2 · · · ln,n−1 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 9 / 16

Factorización LU

• Como los elementos de la diagonal de cada matriz Li es diferente decero, Li es no singular.

• El producto Ln−1 · · ·L2L1 es no singular, de modo que

Ln−1 · · ·L2L1 = L−1

• Tenemos entonces que

L−1A =U =⇒ A = LU

• La matriz L es triangular inferior,

L =

1 0 · · · 0 0l21 1 · · · 0 0l31 l32 · · · 0 0...

... · · ·...

...ln−1,1 ln−1,2 · · · 1 0ln1 ln2 · · · ln,n−1 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 9 / 16

Solución del sistema lineal de ecuaciones

De esta forma, el método de eliminación Gaussiana calcula ladescomposición LU de la matriz.

Supongamos que A tiene una factorización LU. Entonces para resolver

Ax = b

hacemos lo siguiente. Tenemos que

LUx = b

Definimos y =Ux y entonces resolvemos

Ly = b (usando sustitución hacia atrás)

Ux = y (usando sustitución hacia adelante)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 10 / 16

Solución del sistema lineal de ecuaciones

De esta forma, el método de eliminación Gaussiana calcula ladescomposición LU de la matriz.

Supongamos que A tiene una factorización LU. Entonces para resolver

Ax = b

hacemos lo siguiente. Tenemos que

LUx = b

Definimos y =Ux y entonces resolvemos

Ly = b (usando sustitución hacia atrás)

Ux = y (usando sustitución hacia adelante)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 10 / 16

Sobre la unicidad de la factorización LU

• Hay que notar que si D es una matriz diagonal no singular, entonces

A = LU = LDD−1U = (LD)(D−1U)

LD es triangular inferior y D−1U es triangular superior, por lo quepodemos tener varias descomposiciones.

• Hacemos el convenio de que por factorización LU nos referimos a lafactorización en la que la matriz L es triangular inferior y que loselementos de su diagonal son iguales a 1.

Proposición.

Si A es no singular y tiene una factorización LU, entonces la factorización esúnica.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 11 / 16

Sobre la unicidad de la factorización LU

• Hay que notar que si D es una matriz diagonal no singular, entonces

A = LU = LDD−1U = (LD)(D−1U)

LD es triangular inferior y D−1U es triangular superior, por lo quepodemos tener varias descomposiciones.

• Hacemos el convenio de que por factorización LU nos referimos a lafactorización en la que la matriz L es triangular inferior y que loselementos de su diagonal son iguales a 1.

Proposición.

Si A es no singular y tiene una factorización LU, entonces la factorización esúnica.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 11 / 16

Sobre la unicidad de la factorización LU

• Hay que notar que si D es una matriz diagonal no singular, entonces

A = LU = LDD−1U = (LD)(D−1U)

LD es triangular inferior y D−1U es triangular superior, por lo quepodemos tener varias descomposiciones.

• Hacemos el convenio de que por factorización LU nos referimos a lafactorización en la que la matriz L es triangular inferior y que loselementos de su diagonal son iguales a 1.

Proposición.

Si A es no singular y tiene una factorización LU, entonces la factorización esúnica.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 11 / 16

Sobre la unicidad de la factorización LU

• Hay que notar que si D es una matriz diagonal no singular, entonces

A = LU = LDD−1U = (LD)(D−1U)

LD es triangular inferior y D−1U es triangular superior, por lo quepodemos tener varias descomposiciones.

• Hacemos el convenio de que por factorización LU nos referimos a lafactorización en la que la matriz L es triangular inferior y que loselementos de su diagonal son iguales a 1.

Proposición.

Si A es no singular y tiene una factorización LU, entonces la factorización esúnica.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 11 / 16

Existencia de la factorización LU

Aun cuando A sea no singular, la matriz podría no tener una factorizaciónLU. Por ejemplo,

A =

0 11 0

Si la matriz A es singular y tiene una factorización LU, ésta puede no serúnica. Por ejemplo,

A =

0 10 1

=

1 0λ 1

��

0 10 1− λ

es una factorización LU para cualquier λ.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 12 / 16

Existencia de la factorización LU

Aun cuando A sea no singular, la matriz podría no tener una factorizaciónLU. Por ejemplo,

A =

0 11 0

Si la matriz A es singular y tiene una factorización LU, ésta puede no serúnica. Por ejemplo,

A =

0 10 1

=

1 0λ 1

��

0 10 1− λ

es una factorización LU para cualquier λ.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 12 / 16

Método de Doolittle (I)

Tenemos que si A = LU, entonces

a11 a12 a13 · · · a1na21 a22 a23 · · · a2na31 a32 a33 · · · a3n

......

.... . .

...an1 an2 an3 · · · ann

=

1 0 0 · · · 0l21 1 0 · · · 0l31 l32 1 · · · 0...

......

. . ....

ln1 ln2 ln3 · · · 1

u11 u12 u13 · · · u1n0 u22 u23 · · · u2n0 0 u33 · · · u3n...

......

. . ....

0 0 0 · · · unn

Para que se cumpla la igualdad se debe cumplir

aij =

i−1∑

k=1

likukj + uij i ≤ j

j∑

k=1

likukj i > j

Hacemos el convenio de que si i = 1 la suma en el primer caso es cero.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 13 / 16

Método de Doolittle (II)

Fijamos j = 1. Entonces para i = 1,

u11 = a11,

y para i = 2,3, ...,n tenemos que

ai1 = li1u11 −→ li1 =ai1

u11

Fijamos j = 2. Entonces

u12 = a12, u22 = a22 − l21u12

y para i = 3,4, ...,n,

ai2 = li1u12 + li2u22 −→ li2 =ai2 − li1u12

u22

Podemos continuar de esta manera para j = 3, ...,n. En general, se tiene que

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 14 / 16

Método de Doolittle (III)

Para j = 1,2, ...,n, hacemos los siguientes dos pasos

• Para i = 1,2, ..., j calculamos

uij = aij −i−1∑

k=1

likukj.

• Para i = j+ 1, j+ 2, ...,n, calculamos

lij =1

uii

aij −j−1∑

k=1

likukj.

!

A este procedimiento se le conoce como el método de Doolittle.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 15 / 16

Observaciones

• Otras factorizaciones parecidas a LU se obtienen con el método deCrout, en el que la matriz triangular superior tiene 1’s en la diagonal y lamatriz triangular inferior no le impone alguna condición.

• En caso de que matriz A requiera pivoteo parcial, entonces podemosencontrar una matriz de permutación P tal que

PA = LU.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 16 / 16

Observaciones

• Otras factorizaciones parecidas a LU se obtienen con el método deCrout, en el que la matriz triangular superior tiene 1’s en la diagonal y lamatriz triangular inferior no le impone alguna condición.

• En caso de que matriz A requiera pivoteo parcial, entonces podemosencontrar una matriz de permutación P tal que

PA = LU.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 19.08.2015 16 / 16