Upload
ngoduong
View
213
Download
0
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