´ DE CROUT: Fundamentos Te orico ´ FACTORIZACION oricos s (I)
´ DE CROUT FACTORIZACION
[A = L D U ]
Sea el problema
¯ = ¯b Ax
con
A=
a11 a21 .. an1
a12 a22 .. an2
a 1n a 2n .. ann
··· ···
...
···
,
´ DE CROUT consiste La FACTORIZACION consiste en:
A = L D U
=⇒
z¯ ¯ = ¯b L D U x
y¯
x ¯=
=⇒
x1 x2 .. xn
,
¯b =
L z¯ = ¯ b, D y¯ = z¯, U
b1 b2 .. bn
´ FUNCIONAMIENTO DEL METODO
Supongamos que ya hemos factorizado Ak = Lk D k U k ,
con
Ak =
a11 .. ak 1
···
...
a 1k .. akk
···
,
siendo Lk =
l11 .. lk 1
...
···
0
,
lkk
Dk =
d11
0
...
0
,
dkk
U k =
u11
0
···
...
u 1k .. ukk
.
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIb)
Pretendemos factorizar (a partir de lo anterior) Ak+1 = Lk+1 D k+1 U k+1,
de forma que
26 66 e e 64
¯ 0
Lk
Lk+1 =
¯ lT k+1
37 77 75 e 8< 9= : ;
, Dk+1 =
lk+1 +1,k ,k+1 +1
donde c¯k+1 =
a1,k ,k+1 +1 .. . ak,k k,k+1 +1
,
con
c¯k+1
Ak
Ak+1 =
f ¯kT +1
26 66 e 64
Dk
¯ 0T
¯ 0
37 77 75 8< :
dk+1 +1,k ,k+1 +1
¯k+1 = u
ak+1 +1,k +1 ,k+1
26 66 e e 664
U k
,
¯k+1 u
, U k+1 =
u1,k ,k+1 +1 .. . uk,k k,k+1 +1
¯ 0T
9= ;
,
uk+1 +1,k ,k+1 +1
37 77 775
.
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIc)
cajas s ... Multiplicamos por caja
26 3 z}| z }|{ { z }| { e 7 66 e e 7 7 e 6 7 77 e e 66 e 64 | {z } | {z } | {z } 75 26 z}| z }|{ { z }| e 66 e e e ee ` ´ 6 e e e 66 e e e ¯ 0
0
Dk U k + ¯ 0¯ 0T
Dk+1 U k+1 =
¯ ¯T 0T U k + dk+1 +1,k +1 0 ,k+1 ¯ 0T
¯ 0T
0
Lk+1 Dk+1 U k+1 =
Dk u ¯k+1 + ¯ 0 uk+1 +1,k ,k+1 +1
¯ 0T u ¯k+1 + dk+1 +1,k +1 uk+1 +1,k +1 ,k+1 ,k+1
.
0
¯ 0
{
0¯ 0T Lk Dk U k + ¯
¯k+1 + ¯ 0 dk+1 Lk D k u +1,k ,k+1 +1 uk+1 +1,k ,k+1 +1
¯ ¯T lkT +1 Dk U k + lk+1 +1,k +1 0 ,k+1
¯ ¯k+1 + lk+1 lkT +1 Dk u +1,k +1 dk+1 +1,k +1 uk+1,k +1,k+1 +1 ,k+1 ,k+1
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IId)
Igualamos . . .
26 66 e 64
c¯k+1
Ak
¯T f k+1
ak+1 +1,k ,k+1 +1
37 77 75
26 66 e e e 64 e e
=
¯ lkT +1 Dk U k
lo que por cajas equivale a
Ak
Lk Dk u ¯k+1
Lk Dk U k
= Lk D k U k ,
c¯k+1
= Lk D k u ¯k+1 ,
f ¯kT +1
= ¯lkT +1 D k U k ,
ee
¯ ¯k+1 + lk+1 lkT +1Dk u +1,k +1 dk+1 +1,k +1 uk+1 +1,k +1 ,k+1 ,k+1 ,k+1
e
[⇐
´ ] HIPOTESIS
37 77 75
,
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIe)
Por tanto . . . ´ del sistema: 1. El vector u ¯k+1 es la sol soluc´ uc´ıon
[Lk Dk ] u ¯k+1 = c¯k+1 .
´ del sistema: 2. El vector ¯ solu luc´ c´ıon lk+1 es la so
U T k Dk
¯lk+1 = f ¯k+1 .
3. Los coeficientes lk+1 +1,k ,k+1 +1 , dk+1 +1,k ,k+1 +1 y uk+1 +1,k ,k+1 +1 verifican:
lk+1 +1,k +1 ,k+1
dk+1 +1,k +1 ,k+1
¯T = ak+1 ¯k+1. uk+1 +1,k +1 +1,k +1 − lk+1 D k u ,k+1 ,k+1
´ calculado previamente. ¯k+1 se habran (*) Donde ¯lk+1 y u
(*
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIf)
4. Para k
= 1:
A1 = L1 D1 U 1
=⇒
l11
d11
5. Para k
u11
= n:
An = A
=⇒
A = L D U con
= a11 . (*)
L = Ln, D = D n, U = U n.
(*) Hay infinitas descomposiciones posibles. Por convenio, se eligen (arbitrariamente) los valores:
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIIa)
´ DE LOS C ALCULOS ´ REALIZACION ´ DE LA MATRIZ: 1. FACTORIZACION Asignar
l11 = 1,
u11 = 1,
d11 = a11 .
Para k = 1, . . . , n − 1
Resolver
Asignar
Lk D k
u ¯k+1
=
c¯k+1 ,
U k T D k
¯lk+1
=
f ¯k+1 .
lk+1 uk+1 +1,k ,k+1 +1 = 1, +1,k ,k+1 +1 = 1,
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIIb)
Notas: 1. Los sistemas
[Lk D k ] u ¯k+1 = c¯k+1 se resuelven en dos fases:
v¯k+1
Lk D k u ¯k+1 = c¯k+1
2. Los sistemas
=⇒
Lk v¯k+1 = c¯k+1, Dk u ¯k+1 = v¯k+1 .
¯ ¯ U T k D k lk+1 = f k+1 se resuelven en dos fases: m ¯ k+1
¯ ¯ U T k D k lk+1 = f k+1
=⇒
U T ¯ k+1 = f ¯k+1, k m Dk ¯ lk+1 = m ¯ k+1.
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IIIc)
´ DE LOS C ALCULOS ´ REALIZACION
´ (continuaci´ (continuacion)
´ DE SISTEMAS: 2. SOLUCION Resolver
z¯
= ¯b ,
D y¯
= z¯ ,
U x ¯
= y¯ .
L
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IVa)
CONDICIONES DE EXISTENCIA ´ (unos en la diagonal principal), se cumple Por construccion
det(L det( det(U k ) = 1 Lk ) = det(U
e
e
para
k = 1, . . . , n .
Por tanto, basta con que se cumplan las condiciones
( e e e eee (
´ det(D det( = 0, k = 1, . . . , n − 1 para que pueda realizarse la factorizaci on, Dk )
det(D det( Dk ) = 0, k = n
´ de sistemas. para que pueda realizarse la soluci on
Por otro lado,
Ak = Lk Dk U k
=⇒
det(A det( det(L det(Dk ) det(U det(U k ) = det(D det(Dk ) ∀k. Ak ) = det( Lk ) det(D
e
e e
e
Luego, las condiciones de existencia pueden expresarse en la forma
det(A det( A ) 0 k
1
e
´ 1 para que pueda realizarse la factorizaci on,
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IVb)
En general, podemos afirmar que:
h
i
♥ Si la matriz es REGULAR det( det(A A) = 0 ...
e
´ exista; (*) ♠ puede pasar que la factorizaci on ´ NO exista; (**) ♠ puede pasar que la factorizaci on ´ ´ de existencia anterior; imposible comprobar a priori la condicion ♠ es practicamente
♣ es sencillo (y RECOMENDABLE en todo caso) comprobar sobre la marcha que
d11 = 0,
dk+1 =0 +1,k +1 ,k+1
h
para
k = 1, . . . , n .
i
det(A ♠ Aunque la matriz sea SINGULAR det( A) = 0 . . .
e
´ exista; (*) ♠ puede pasar que la factorizaci on ♠ pero no se podra´ utilizar para resolver el sistema.
(***)
det(A = 0, k = 1, . . . , n − 1. (*) Esto sucedera´ cuando det( Ak ) ´ anterior. Por ejemplo, cuando a11 = 0. (**) Esto sucedera´ cuando no se cumpla la condici on
e
´ Al igual que en el M etodo de Gauss, estos casos requieren PIVOTAMIENTO (intercambio de filas y/o columnas).
´ DE CROUT: Fundamentos Te oricos ´ FACTORIZACION (IVc)
Un caso importante es el de las MATRICES DEFINIDAS: A DEFINIDA
e
=⇒
det(A det( Ak ) = 0, k = 1, . . . , n .
e
Luego, si A es DEFINIDA (positiva o negativa)
´ y ♦ puede realizarse la factorizaci on ´ de sistemas. ♦ puede realizarse la soluci on
´ DE CROUT: Algoritmos (I) FACTORIZACION
´ DE LA MATRIZ: 1. FACTORIZACION l11 = 1, u11 = 1 d11 = a11 DO k=1 k=1,n,n-1 1 i−1
ui,k i,k+1 +1
= ai,k i,k+1 +1 −
X X
lij uj,k j,k+1 +1
; i = 1, . . . , k
j =1
ui,k i,k+1 +1
= ui,k i,k+1 +1 / dii
; i = 1, . . . , k
i−1
lk+1 +1,i ,i
= ak+1 +1,i ,i −
uji lk+1 +1,j ,j
; i = 1, . . . , k
j =1
lk+1 +1,i ,i
= lk+1 +1,i ,i / dii
; i = 1, . . . , k
lk+1 +1,k ,k+1 +1 = 1, uk+1 +1,k ,k+1 +1 = 1 k
d
X
l
d
´ DE CROUT: Algoritmos (II) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION i−1
zi = bi −
X
lij zj
; i = 1, . . . , n
j =1
yi = zi / dii
; i = 1, . . . , n n
xi = yi −
X
j =i+1
uij xj
; i = n , . . . , 1, −1
(*)
´ DE CROUT: Algoritmos (III) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
[Planteamiento Alternativo]
(*)
i−1
zi = bi −
X
lij zj
; i = 1, . . . , n
j =1
yi = zi / dii
; i = 1, . . . , n
xi = yi
; i = 1, . . . , n
xj = xj −
uji xi
; j = 1, . . . , i − 1
; i = n , . . . , 2, −1
´ DE CROUT: Programaci on ´ (–) FACTORIZACION
´ comprobar que Es facil • podemos almacenar L, D y U sobre A; • podemos almacenar
As´ı. ı. . .
a11 a21 a31 .. an1
a12 a22 a32 .. an2
b1 b2 b3
a13 a23 a33 .. an3
··· ··· ···
...
···
se transformar´ transformara´ en
−→
¯ sobre ¯b; z¯, y¯ y x a 1n a 2n a 3n .. ann z1 z2 z3
se transformara´ en
−→
se transformara´ en
−→
d11 l21 l31 .. ln1 y1 y2 y3
u12 d22 l32 .. ln2
u13 u23 d33 .. ln3
···
u 1n u 2n u 3n .. dnn
··· ··· ···
...
se transformar´ transformara´ en
−→
x1 x2 x3
.
.
´ DE CROUT: Programaci on ´ (I) FACTORIZACION
´ DE LA MATRIZ: 1. FACTORIZACION DO k=1 k=1,n,n-1 1 i−1
ai,k +1 i,k+1
← ai,k +1 − i,k+1
X X X
aij aj,k +1 j,k+1
; i = 2, . . . , k
j =1
ai,k +1 i,k+1
← ai,k +1 / aii i,k+1
; i = 1, . . . , k
i−1
ak+1 +1,i ,i
← ak+1 +1,i ,i −
aji ak+1 +1,j ,j
; i = 2, . . . , k
j =1
ak+1 +1,i ,i
← ak+1 +1,i ,i / aii
; i = 1, . . . , k
k
ak+1 +1,k ,k+1 +1 ← ak+1 +1,k ,k+1 +1 −
j =1
ENDDO
ak+1 +1,j ,j ajj aj,k j,k+1 +1
´ DE CROUT: Programaci on ´ (II) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =1
; i = 1, . . . , n
bi ← bi / aii n
bi ← bi −
X
j =i+1
aij bj
; i = n−1, . . . , 1, −1
´ DE CROUT: Programaci on ´ (III) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
[Planteamiento Alternativo]
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =1
; i = 1, . . . , n
bi ← bi / aii bj ← bj −
aji bi
; j = 1, . . . , i − 1
; i = n , . . . , 2, −1
´ DE CROUT: Adaptaci on ´ a Banda y Perfil (Ia) FACTORIZACION
Sea la matriz A tal que
0 0
ai−u(i),i
.. ..
A=
donde
ai−1,i
0
0 ai,i−(i)
···
···
ai,i−1
aii
↓ columna i
−→ fila
i
´ DE CROUT: Adaptaci on ´ a Banda y Perfil (Ib) FACTORIZACION
´ Examinamos en detalle el calculo
de la fila
k + 1 de L, y
de la columna k
i−1
ui,k i,k+1 +1 = ai,k i,k+1 +1 −
X X
lij uj,k j,k+1 +1
+ 1 de U .
; i = 1, . . . , k
j =1
ui,k i,k+1 +1 = ui,k i,k+1 +1 / dii
; i = 1, . . . , k
−→ IRRELEVANTE
i−1
lk+1 +1,i +1,i ,i = ak+1 ,i −
uji lk+1 +1,j ,j
; i = 1, . . . , k
j =1
lk+1 +1,i +1,i ,i = lk+1 ,i / dii
; i = 1, . . . , k
−→ IRRELEVANTE
´ DE CROUT: Adaptaci on ´ a Banda y Perfil (Ic) FACTORIZACION
Observamos que (a falta de dividir por los elementos dii) . . .
8>> >>> >>< >>> >>> >: 8>> >>> >>< >>>
i−1
i=1 i=2
−→ −→
ai,k +1 = 0 i,k+1
⇒
ai,k +1 = 0 i,k+1
⇒
ui,k +1 = ai,k +1 − i,k+1 i,k+1 ui,k +1 = ai,k +1 − i,k+1 i,k+1
.. .
i = (k + 1) − u(k + 1) − 1 i = (k + 1) − u(k + 1)
X X X X X X X
j =1 i−1 j =1
lij uj,k +1 = j,k+1
0 ,
lij uj,k +1 = j,k+1
0 ,
lij uj,k +1 = j,k+1
0 ,
lij uj,k +1 = j,k+1
ai,k =0 . +1 i,k+1
i−1
−→ −→
ai,k +1 = 0 i,k+1
⇒
ai,k =0 +1 i,k+1
⇒
ui,k +1 = ai,k +1 − i,k+1 i,k+1 ui,k +1 = ai,k +1 − i,k+1 i,k+1
j =1 i−1 j =1
i−1 i=1 i=2
−→ −→
ak+1 +1,i ,i = 0
⇒
ak+1 +1,i ,i = 0
⇒
lk+1 +1,i ,i = ak+1,i +1,i − lk+1 +1,i ,i = ak+1,i +1,i −
.. .
i = (k + 1) − (k + 1) − 1
j =1 i−1 j =1
=
0 ,
uji lk+1,j +1,j =
0 ,
uji lk+1,j +1,j =
0 ,
uji lk+1,j +1,j
i−1
−→
ak+1 +1,i ,i = 0
⇒
lk+1 +1,i +1,i − ,i = ak+1,i
´ DE CROUT: Adaptaci on ´ a Banda y Perfil (II) FACTORIZACION
Por tanto, se conservan los semianchos de banda inferior y superior:
´ los perfiles inferior (por filas) y superior (por columnas): Y tambien
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (I)
´ DE CHOLESKY FACTORIZACION
´ [A = L D LT , A simetrica]
Sea el problema
¯ = ¯b Ax
con
a11
A=
a12 a22
··· ···
...
Sim.
a 1n a 2n .. ann
,
x ¯=
´ DE CHOLESKY consiste en: La FACTORIZACION
z¯
A = L D LT
=⇒
¯ = ¯b L D LT x y¯
=⇒
x1 x2 .. xn
¯b =
,
b1 b2 .. bn
L z¯ = ¯b, D y¯ = z¯, T
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIa)
´ FUNCIONAMIENTO DEL METODO ´ de CROUT para Observamos que es un caso particular de la Factorizaci on ´ matrices simetricas en el que U = LT .
Debido a la simetr´ıa ıa se cumplir a´
c¯k+1
U k u ¯k+1
= f ¯k+1 , = LT k,
= ¯lk+1 ,
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIb)
Por tanto . . . ´ del sistema: 1-2. El vector ¯ solu luc´ c´ıon lk+1 es la so
[Lk Dk ] ¯lk+1 = f ¯k+1 .
3. Los coeficientes lk+1 +1,k +1 y dk+1 +1,k +1 verifican: ,k+1 ,k+1
lk+1 +1,k ,k+1 +1
dk+1 +1,k ,k+1 +1
T ¯ ¯lk+1. lk+1 a l D = − +1,k ,k+1 +1 k+1 +1,k ,k+1 +1 k+1 k
(*) Donde ¯lk+1 se habra´ calculado previamente.
Hay infinitas descomposiciones posibles. Por convenio, se eligen (arbitrariamente) los valores:
(*)
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIc)
4. Para k
= 1:
A1 = L1 D1 LT 1
=⇒
l11
d11
5. Para k
l11
= n:
An = A
=⇒
T
A = LDL
con
= a11 . (*)
L = Ln, D = D n.
(*) Hay infinitas descomposiciones posibles. Por convenio, se eligen (arbitrariamente) los valores:
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIIa)
´ DE LOS C ALCULOS ´ REALIZACION ´ DE LA MATRIZ: 1. FACTORIZACION Asignar
l11 = 1, d11 = a11 .
Para k = 1, . . . , n − 1
Resolver Asignar
Lk D k
¯lk+1
=
f ¯k+1 .
lk+1 +1,k +1 = 1, ,k+1
¯T ¯ dk+1 +1,k +1 = ak+1 +1,k +1 − lk+1 D k lk+1 . ,k+1 ,k+1
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIIb)
Notas: 1. Los sistemas
[Lk D k ] ¯lk+1 = f ¯k+1 se resuelven en dos fases:
m ¯ k+1
Lk D k ¯ lk+1 = f ¯k+1
=⇒
Lk m ¯ k+1 = f ¯k+1, Dk ¯ lk+1 = m ¯ k+1 .
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IIIc)
´ DE LOS C ALCULOS ´ REALIZACION
´ (continuaci´ (continuacion)
´ DE SISTEMAS: 2. SOLUCION Resolver
L
z¯
= ¯b ,
D
y¯
= z¯ ,
LT x ¯
= y¯ .
´ DE CHOLESKY: Fundamentos Te oricos ´ FACTORIZACION (IV)
CONDICIONES DE EXISTENCIA
´ de CROUT. Son las mismas que en el caso de la Factorizaci on
´ DE CHOLESKY: Algoritmos (I) FACTORIZACION
´ DE LA MATRIZ: 1. FACTORIZACION l11 = 1, d11 = a11 DO k=1 k=1,n,n-1 1 i−1
lk+1 +1,i ,i
= ak+1 +1,i ,i −
X
lij lk+1 +1,j ,j
; i = 1, . . . , k
j =1
lk+1 +1,i ,i
= lk+1 +1,i ,i / dii
; i = 1, . . . , k
lk+1 +1,k ,k+1 +1 = 1, k
dk+1 +1,k ,k+1 +1 = ak+1 +1,k ,k+1 +1 −
X j =1
ENDDO
lk+1 +1,j ,j djj lk +1 +1,j ,j
´ DE CHOLESKY: Algoritmos (II) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION i−1
zi = bi −
X
lij zj
; i = 1, . . . , n
j =1
yi = zi / dii
; i = 1, . . . , n n
xi = yi −
X
j =i+1
lji xj
; i = n , . . . , 1, −1
(*)
´ DE CHOLESKY: Algoritmos (III) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
[Planteamiento Alternativo]
(*)
i−1
zi = bi −
X
lij zj
; i = 1, . . . , n
j =1
yi = zi / dii
; i = 1, . . . , n
xi = yi
; i = 1, . . . , n
xj = xj −
lij xi
; j = 1, . . . , i − 1
; i = n , . . . , 2, −1
´ DE CHOLESKY: Programaci on ´ (–) FACTORIZACION
´ comprobar que Es facil • podemos almacenar L Y D sobre la parte inferior de A;
• podemos almacenar z ¯, y¯ y x ¯ sobre ¯b;
As´ı. ı. . .
a11 a21 a31 .. an1
a22 a32 .. an2
b1 b2 b3
a33 .. an3
...
−→
se transformar´ transformara´ en
−→
ann
···
se transformar´ transformara´ en
z1 z2 z3
se transformara´ en
−→
d11 l21 l31 .. ln1 y1 y2 y3
d22 l32 .. ln2
d33 .. ln3
... ···
dnn
se transformar´ transformara´ en
−→
x1 x2 x3
.
.
´ DE CHOLESKY: Programaci on ´ (I) FACTORIZACION
´ DE LA MATRIZ: 1. FACTORIZACION DO k=1 k=1,n ,n-1 -1 i−1
ak+1 +1,i ,i
← ak+1 +1,i ,i −
X X
aij ak+1 +1,j ,j
; i = 2, . . . , k
j =1
ak+1 +1,i ,i
← ak+1 +1,i ,i / aii
; i = 1, . . . , k
k
ak+1 +1,k +1 ← ak+1 +1,k +1 − ,k+1 ,k+1
j =1
ENDDO
ak+1 +1,j +1,j ,j ajj ak+1 ,j
´ DE CHOLESKY: Programaci on ´ (II) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =1
; i = 1, . . . , n
bi ← bi / aii n
bi ← bi −
X
j =i+1
aji bj
; i = n−1, . . . , 1, −1
´ DE CHOLESKY: Programaci on ´ (III) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
[Planteamiento Alternativo]
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =1
; i = 1, . . . , n
bi ← bi / aii bj ← bj −
aij bi
; j = 1, . . . , i − 1
; i = n , . . . , 2, −1
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (Ia) FACTORIZACION
Sea la matriz A tal que
SIM.
A=
donde
0
0 ai,i−(i)
···
···
ai,i−1
aii
↓ columna i
−→ fila
i
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (Ib) FACTORIZACION
´ Examinamos en detalle el calculo de la fila k + 1 de L. i−1
lk+1 +1,i ,i = ak+1 +1,i ,i −
X
lij lk+1 +1,j ,j
; i = 1, . . . , k
j =1
lk+1 +1,i ,i = lk+1 +1,i ,i / dii
; i = 1, . . . , k
−→ IRRELEVANTE
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (Ic) FACTORIZACION
Observamos que (a falta de dividir por los elementos dii) . . .
8>> >>> >>> >>< >>> >>> >>> >:
i−1 i=1
−→
ak+1 +1,i ,i = 0
⇒
lk+1 +1,i ,i = ak+1,i +1,i −
X X
j =1
lij lk+1,j +1,j =
0 ,
lij lk+1,j +1,j =
0 ,
lij lk+1,j +1,j =
0 ,
lij lk+1,j +1,j =
=0 . ak+1 +1,i ,i
i−1 i=2
−→
ak+1 +1,i ,i = 0
⇒
lk+1 +1,i +1,i − ,i = ak+1,i
j =1
.. .
i−1 i = (k + 1) − (k + 1) − 1
−→
ak+1 +1,i ,i = 0
⇒
lk+1 +1,i ,i = ak+1,i +1,i −
X X
j =1 i−1
i = (k + 1) − (k + 1)
−→
=0 ak+1 +1,i ,i
⇒
lk+1 +1,i +1,i − ,i = ak+1,i
j =1
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (II) FACTORIZACION
Por tanto, se conservan los semianchos de banda inferior y superior:
´ los perfiles inferior (por filas) y superior (por columnas): Y tambien
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (IIIa) FACTORIZACION
´ DE LA MATRIZ: 1. FACTORIZACION
(*)
DO k= k=1,n 1,n-1 -1 i−1
ak+1 +1,i ,i
← ak+1 +1,i ,i −
X X
aij ak+1 +1,j ,j
; i = [(k+1)−(k+1)+1], . . . , k
j =max{i−(i),(k+1)−(k +1)}
ak+1 +1,i ,i
; i = [(k+1)−(k+1)], . . . , k
← ak+1 +1,i ,i / aii
k
ak+1 +1,k +1 ← ak+1 +1,k +1 − ,k+1 ,k+1
ak+1 +1,j +1,j ,j ajj ak+1 ,j
j =(k+1)−(k+1)
ENDDO
´ DE CHOLESKY: Adaptaci on ´ a Banda y Perfil (IIIb) FACTORIZACION
´ DE SISTEMAS: 2. SOLUCION
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =i−(i)
; i = 1, . . . , n
bi ← bi / aii bj ← bj −
aij bi
; j=
[i−(i)], . . . , i−1
; i = n , . . . , 2, −1
´ [coacciones] (I) CONDICIONES DE VINCULACI ON
Sea el sistema
a11 a21 a31 .. av 1 .. an1
a12 a22 a32 .. av 2 .. an2
a13 a23 a33 .. av 3 .. an3
··· ··· ···
...
··· ···
a1v a2v a3v .. avv .. anv
··· ··· ··· ···
...
···
´ adicional con la coaccion
xv = pv ,
donde
v
=
pv =
a1n a2n a3n .. avn .. ann
x1 x2 x3 .. xv .. xn
=
GRADO DE LIBERTAD VALOR PRESCRITO
b1 b2 b3 .. bv .. bn
(GDL)
+
0 0 0 .. rv ..
0
,
,
COACCIONADO
(conocido),
´ [coacciones] (II) CONDICIONES DE VINCULACI ON
El planteamiento anterior puede reescribirse en la forma
a11 a21 a31 ..
a12 a22 a32 ..
a13 a23 a33 ..
0 ..
0 ..
0 ..
an1
an2
an3
0 0 0 . . . .. ··· 1 .. ··· 0 ··· ··· ···
··· ··· ···
a 1n a 2n a 3n ..
···
...
0 ..
···
ann
x1 x2 x3 .. xv .. xn
´ adicional con la ecuacion rv = [ av1
av 2
av 3
···
avv
···
b1−a1v pv b2−a2v pv
=
avn ]
b3−a3v pv .. pv .. bn−anv pv x1 x2 x3 .. xv
− bv ,
,
´ [coacciones] (III) CONDICIONES DE VINCULACI ON
´ [coacciones] TRATAMIENTO DE LAS CONDICIONES DE VINCULACI ON ¯=¯ Dado el sistema Ax b + r¯, con algunas xv = pv , se procede de la siguiente manera:
e
1) Al factorizar se ignoran filas y columnas correspondientes a GDL prescritos ( v ). ´ 2) Las columnas columnas correspon correspondient dientes es a GDL prescritos prescritos pasan pasan restando restando a los t erminos independientes multiplicadas por los valores prescritos ( −aiv pv ). 3) Las filas correspondientes a GDL prescritos ( avj ) se usan a posteriori para calcular las reacciones ( rv ). Luego, los datos almacenados en filas y columnas correspondientes a GDL prescritos ´ y ♣ no se alteran durante la factorizaci on ♥ se pueden utilizar para resolver m´ultiples ultiples sistemas sistemas con la misma matriz y distintos distintos
´ terminos independientes o
valores prescritos.
(*)
´ IMPLEMENTACION: Cholesky para matrices en perfil (Ia)
´ DEL ALMACENAMIENTO CODIFICACION
A=
( §)
a11 ∗
∗
0
∗
∗
0
∗
···
∗
0
0
∗
···
∗
0
∗
···
···
···
0
0
0
0
0
∗
···
0
0
0
0
SIM.
ai,i−sbi · · ·
∗
ai,i−1
aii
···
···
···
∗
∗
···
···
···
−→ fila
ann
´ IMPLEMENTACION: Cholesky para matrices en perfil (Ib)
ALMACENAMIENTO EN PERFIL
A aij
se almacena en
(*)
v¯ = [a11, · · · , ai,i−sbi, · · · , · · · , ai,i−1, aii, · · · , · · · , ann] vk ,
con
k = lpij ≡ puntero del coeficiente aij .
Si lp(i) ≡ puntero del coeficiente aii, entonces: entonces:
8>> <> >:
lpii = |lp(i)|
≡ puntero de aii,
(∗∗)
lsbi = lpii − (|lp(i − 1)| + 1) ≡ semiancho de banda inferior de la fila i,
(∗
lpiØ = lpii − i, lpij = lpiØ + j
≡ puntero de aij , con i − lsbi ≤ j ≤ i,
´ IMPLEMENTACION: Cholesky para matrices en perfil (II)
´ PROGRAMACI ON 1) C AMBIAR SIGNO A PUNTEROS DE G DL COACCIONADOS . 2) FACTORIZAR:
A = L D LT
(*)
3) I NICIALIZAR REACCIONES E IMPONER CONDICIONES DE VINCULACI O´ N . 4) RESOL RESOLVER VER LOS SISTEMAS: 5) C ALCULAR REACCIONES .
L z¯ = ¯b, D y¯ = z, z¯, LT x ¯ = y¯
6) R ESTAURAR SIGNO A PUNTEROS DE G DL COACCIONADOS .
(*
´ IMPLEMENTACION: Cholesky para matrices en perfil (IIIa)
´ DE LA MATRIZ: 1. FACTORIZACION
(*)
DO k= k=2, 2,n n i−1
aki ← aki −
X X
aij akj
; i = [k−sbk sbk+1 +1], . . . , k − 1
j =max{i−sbi,k−sbk}
; i = [k−sbk], . . . , k − 1
aki ← aki / aii
k−1
akk ← akk −
akj ajj akj
j =k−sbk
ENDDO
´ IMPLEMENTACION: Cholesky para matrices en perfil (IIIb)
´ DE SISTEMAS: 2. SOLUCION
(*)
i−1
bi ← bi −
X
aij bj
; i = 2, . . . , n
j =i−sbi
; i = 1, . . . , n
bi ← bi / aii bj ← bj −
aij bi
; j=
[i−sbi sbi]], . . . , i−1
; i = n , . . . , 2, −1