mcholeski

6
Métodos Numéricos M. Audelo 1 Método de Choleski Sea A =(a i,j ) M n×n [R] una matriz simétrica, definida positiva, −→ b T =(b1 ,b 2 , ...b n ) R n . Se considera el problema siguiente: Hallar −→ x R n solución de: A −→ x = −→ b (1) Por ser la matriz A simétrica, definida positiva, A es no singular y en consecuencia la Ec. 1 admite una única solución −→ x R n . Por otra parte, existe una matriz L =(l i,j ) M n×n [R] triangular inferior tal que: A = LL T (2) El sistema de ecuaciónes representado por la Ec. 1 es equivalente a los siguientes: L −→ y = −→ b L T −→ x = −→ y (3) Primeramente se resuelve el sistema L −→ y = −→ b . Calculado el vector −→ y , se resuelve a continuación el sistema de ecuaciones L T −→ x = −→ y , lo que permite calcular −→ x R n solución de la Ec. 1. Describamos el algoritmo de factorización de la matriz A en la forma LL T . Como A = LL T =(a i,j ), se sigue de la definición del producto de dos matrices que: a i,j = n k=1 l i,k l t k,j i, j =1, ..., n (4) donde L T =(l t i,j ) y l t i,j = l j,i para i, j =1, ..., n. La igualdad representada en la Ec. 4 así como la definición de la matriz triangular inferior L =(l i,j ) serán utilizadas sucesivamente para construir cada columna de la matriz L. Primera columna: j =1 Se tiene a i,1 = n k=1 l i,k l t k,1 = n k=1 l i,k l 1,k = l i,1 l 1,1 + l i,2 l 1,2 + l i,3 l 1,3 + ... + l i,n l 1,n = l i,1 l 1,1 i =1, ..., n ya que l 1,k =0 para k =2, ..., n. Así: a i,1 = l i,1 l 1,1 i =1, ..., n Para i =1, se tiene a 1,1 = l 1,1 l 1,1 = l 2 1,1 l 1,1 = a 1,1 (5) (l 1,1 = a 1,1 no es posible porque A es simétrica definida positiva). Para i =1, ..., n l i,1 = a i,1 l 1,1 (6) Segunda columna: j =2 Se tiene a i,2 = n k=1 l i,k l t k,2 = n k=1 l i,k l 2,k = l i,1 l 2,1 + l i,2 l 2,2 + l i,3 l 2,3 + ... + l i,n l 2,n = l i,1 l 2,1 + l i,2 l 2,2 i =2, ..., n ya que l 2,k =0 para k =3, ..., n 1

Upload: lizandro-eugenio

Post on 17-Aug-2015

214 views

Category:

Documents


0 download

DESCRIPTION

metodos numericos

TRANSCRIPT

Mtodos Numricos M. Audelo1 Mtodo de CholeskiSea A = (ai,j) Mnn [R] una matriz simtrica, denida positiva, b T= (b1, b2, ...bn) Rn. Se considera elproblema siguiente: Hallar x Rnsolucin de:Ax =b (1!or ser la matriz A simtrica, denida positiva, A es no singular " en consecuencia la #c. 1 admite una $nicasolucin x Rn. !or otra parte, e%iste una matriz L = (li,j) Mnn [R] triangular in&erior tal 'ue:A = LLT((#l sistema de ecuacines representado por la #c. 1 es e'uivalente a los siguientes:_Ly =bLT x =y()!rimeramente se resuelve el sistema Ly =b . *alculado el vector y , se resuelve a continuacin el sistemade ecuaciones LT x =y , lo 'ue permite calcular x Rnsolucin de la #c. 1.+escribamos el algoritmo de &actorizacin de la matriz A en la &orma LLT. *omo A = LLT= (ai,j), se siguede la denicin del producto de dos matrices 'ue:ai,j =n

k=1li,kltk,ji, j = 1, ..., n (,donde LT= (lti,j) " lti,j = lj,i para i, j = 1, ..., n.-a igualdad representada en la #c. , as. como la denicin de la matriz triangular in&erior L = (li,j) ser/nutilizadas sucesivamente para construir cada columna de la matriz L.Primera columna: j = 1Se tieneai,1 =n

k=1li,kltk,1 =n

k=1li,kl1,k = li,1l1,1 + li,2l1,2 + li,3l1,3 + ... + li,nl1,n = li,1l1,1i = 1, ..., n"a 'ue l1,k = 0 para k = 2, ..., n. As.:ai,1 = li,1l1,1i = 1, ..., n!ara i = 1, se tienea1,1 = l1,1l1,1 = l21,1l1,1 =a1,1(0(l1,1 = a1,1 no es posible por'ue A es simtrica denida positiva.!ara i = 1, ..., nli,1 = ai,1l1,1(1Segunda columna: j = 2Se tieneai,2 =n

k=1li,kltk,2 =n

k=1li,kl2,k = li,1l2,1 + li,2l2,2 + li,3l2,3 + ... + li,nl2,n = li,1l2,1 + li,2l2,2i = 2, ..., n"a 'ue l2,k = 0 para k = 3, ..., n1Mtodos Numricos M. Audelo-os elementos li,1 para i = 1, ...n son calculados en la etapa precedente. +ebemos calcular li,2 para i = 2, ...n!ara i = 2, se tienea2,2 = l2,1l2,1 + l2,2l2,2 = l22,1 + l22,2l2,2 =_a2,2l22,1(23 para i = 3, ..., nli,2 = ai,2li,1l2,1l2,2(4j-sima columna: 1 < j nSupongamos conocidas la j 1 columnas de L. -a 56sima columna de L se determina como sigue:ai,j =n

k=1li,kltk,j =j

k=1li,klj,ki = j, ..., nNote 'ueli,j+1 = li,j+2 = ... = li,n = 0!ara i = j se tieneaj,j =j

k=1lj,klj,k = j1

k=1l2j,k + lj,jlj,j = j1

k=1l2j,k + l2j,j+e dondelj,j =_aj,j j1

k=1l2j,k!ara i = j + 1, ..., n, se tieneai,j = j1

k=1li,klj,k + li,jlj,jcon lo cualli,j =ai,j j1

k=1li,klj,klj,j(7Note 'ue aj,j > j1

k=1l2j,k, luego lj,j > 0. Adem/s lj,j aj,j para j = 1, ..., n.Hacemos notar 'ue en la pr/ctica, dada una matriz simtrica A, el algoritmo de *8oles9i permite identicarsi A es denida positiva o no, por lo 'ue en cada etapa del algoritmo de *8oles9i se verica siaj,jj1

k=1l2j,k > 0" en consecuencia lj,j > 0, para j = 1, ..., n.#n el procedimiento de &actorizacin de A en la &orma LLTdescrito, no se consideran los errores de redondeo.!or otro lado, en el algoritmo se asume 'ue la matriz A es simtrica. #n realidad la primera tarea es vericar'ue la matriz A sea simtrica.*on todos estos elementos se establece el siguiente algoritmo de &actorizacin de *8oles9i.(Mtodos Numricos M. Audelo1.1 Algortimo de factorizacin LLTENTRADA n Z+, A = (aij)SALIDA Mensaje 1: "La matriz no es simtrica", Mensaje 2: "La matriz A no es definida positiva",L = (li,j), xT= (x1, x2, ..., xn)1. Verificar que la matriz A es simtrica2. Si a11 > 0, entoncesl11 =a11aso contrario, continuar en !". #ara i = 1, ..., nli1 = ai1l11$. #ara j = 2, ..., ns = 0#ara k = 1, ..., j 1s = s + ljkljkSi ajj s > 0 entoncesljj =ajjscaso contrario, continuar en !#ara i = j + 1, ..., ns = 0#ara k = 1, ..., j 1s = s + likljklij = aijsljj%. &scri'ir L = (lij)!. &scri'ir mensaje 2: "La matriz no es definida positiva"(. )inNota: !ara j = n, se tieneai,n =n

k=1li,kltk,n =n

k=1li,kln,k = n1

k=1li,kln,k + li,nln,n" para i = nan,n = n1

k=1ln,kln,k + ln,nln,n = n1

k=1l2n,k + l2n,nln,n =_an,nn1

k=1l2n,k!ara j = n, el bucle i = n + 1, ..., n no se realiza1.2 Algoritmo mtodo de CholeskiENTRADA n Z+, A = (aij), b T= (b1, b2, ..., bn)SALIDA Mensaje: "A no es simtrica, definida positiva", soluci*n xT= (x1, x2, ..., xn)1. Aplicar el al+oritmo de factorizaci*n LLT. Si A no es simtrica, definida positiva, continuaren %2. ,esolver el sistema de ecuaciones Ly =b". ,esolver el sistema de ecuaciones LT x =y$. &scri'ir la soluci*n xT= (x1, x2, ..., xn). ontinuar en !%. &scri'ir mensaje: "A no es simtrica, definida positiva"!. )in)Mtodos Numricos M. Audelo1.3 Programa en Matlabclear- . 'orra la memoria, elimina las varia'les almacenadaclc- . 'orra la pantalladisp/0#,12,AMA #A,A ,&S1LV&, 34 S5S6&MA 7& &3A514&S08-disp/0 M96171 7& :1L&S;508-. 5n+resa la dimensi*n de la matrizn