Sunteți pe pagina 1din 15

1. Objetivo. Analizar, comprender y aplicar la resolucin de sistemas de ecuaciones lineales por el mtodo de Cholesky.

. Realizar el codificado de un algoritmo para resolver un sistema de ecuaciones por el mtodo de Cholesky. 2. Fundamento Terico. La factorizacin de Cholesky toma su nombre del matemtico Andr-Louis Cholesky, quien encontr que una matriz simtrica definida positiva puede ser descompuesta como el producto de una matriz triangular inferior y la traspuesta de la matriz triangular inferior. La matriz triangular inferior es el triangulo de Cholesky de la matriz original positiva definida. El resultado de Cholesky ha sido extendido a matrices con entradas complejas. Es una manera de resolver sistemas de ecuaciones matriciales y se deriva de la factorizacin LU con una pequea variacin. Cualquier matriz cuadrada A con pivotes no nulos puede ser escrita como el producto de una matriz triangular inferior L y una matriz triangular superior U; esto es llamada la factorizacin LU. Sin embargo, si A es simtrica y definida positiva, se pueden escoger los factores tales que U es la transpuesta de L, y esto se llama la descomposicin o factorizacin de Cholesky. Tanto la descomposicin LU como la descomposicin de Cholesky son usadas para resolver sistemas de ecuaciones lineales. Cuando es aplicable, la descomposicin de Cholesky es dos veces tan eficiente como la descomposicin LU. En general, si A es Hermitiana y definida positiva, entonces A puede ser descompuesta como

donde L es una matriz triangular inferior con entradas diagonales estrictamente positivas, y L* representa la conjugada traspuesta de L. Esta es la descomposicin de Cholesky. La descomposicin de Cholesky es nica: dada una matriz Hermitiana positiva definida A, hay una nica matriz triangular inferior L con entradas diagonales estrictamente positivas tales que A = LL*. El recproco se tiene trivialmente: si A se puede escribir como LL* para alguna matriz invertible L, triangular inferior o no, entonces A es Hermitiana y definida positiva. El requerimento de que L tenga entradas diagonales estrictamente positivas puede extenderse para el caso de la descomposicin en el caso de ser semidefinida positiva. La proposicin se lee ahora:

Una matriz cuadrada A tiene una descomposicin de Cholesky si y slo si A es Hermitiana y semidefinida positiva. Las factorizaciones de Cholesky para matrices semidefinidas positivas no son nicas en general. En el caso especial que A es una matriz positiva definida simtrica con entradas reales, L se puede asumir tambin con entradas reales. Una Matriz D diagonal con entradas positivas en la diagonal, es factorizable como , donde es matriz cuya diagonal consiste en la raz cuadrada de cada elemento de D, que tomamos como positivos. As:

La factorizacin puede ser calculada directamente a traves de las siguientes formulas:

para los elementos de la diagonal principal, y:

para el resto de los elementos. Donde uij son los elementos de la matriz L.

3. Explicacin del Mtodo. La factorizacin de Cholesky es una manera de resolver sistemas de ecuaciones matriciales, tenemos la matriz de coeficientes de un sistema de ecuaciones, llamada A. Una condicin necesaria y suficiente para que una matriz A admita factorizacin de Cholesky es que sea simtrica y definida positiva. Si cumple podemos tratar de factorizarla la forma A = L*L T, cuando la tenemos factorizada ya podemos resolver el sistema de ecuaciones. Desarrollo Sea el sistema de ecuaciones lineales A x = b, donde A es simtrica y definida positiva, entonces el mtodo de Cholesky para la resolucin del sistema A x = b est basado en la descomposicin de la matriz A como sigue:

donde L es una matriz triangular inferior de orden n, es decir, L tiene la siguiente forma:

Descompuesta de esta forma la matriz A, la resolucin del sistema A x = b queda dada por la resolucin de dos sistemas triangulares. En efecto,

Si hacemos,

entonces :

el cual resulta un sistema triangular inferior en y, con:

De fcil resolucin con:

En forma general, tenemos:

Una vez que se resuelve (1.9), procedemos a resolver el sistema (1.8), que es un sistema triangular superior

Es decir, los valores de

quedan dados por:

De (1.6) se obtienen las siguientes ecuaciones para el clculo de los elementos de matriz L ( ):

la

Se mencion anteriormente que para la aplicacin de este mtodo la matriz A debe ser simtrica y definida positiva. A continuacin se enuncian ciertos teoremas al respecto.

Observacin: Es necesario verificar que ningn elemento de la diagonal principal sea cero.

Ejemplo: Resuelva el sistema de ecuaciones lineales: 4 1 2 x1 1 1 2 0 x = 2 2 2 0 5 x3 4 Cuya matriz coeficiente es simtrica y positivamente definida. Solucin Factorizacin de A:
4 1 2 1 2 0 2 l1,1 0 = l2,1 5 l3,1 0 l2, 2 l3, 2 0 l1,1 0 0 l3, 3 0 l2,1 l2, 2 0 l3,1 l3, 2 l3,3

De la multiplicacin de matrices se tiene:

l1,1 = a1,1 l1,1 = a1,1 = 2

l1,1l2,1 = a1, 2 l2,1 = a1, 2 / l1,1 =1 / 2 = 0.5 l1,1l3,1 = a1,3 l3,1 = a1,3 / l1,1 = 2 / 2 =1

l2,1 + l2, 2 = a2, 2 l2, 2 = a2, 2 l2,1 = 2 0.5 2 = 1.32287

l2,1l3,1 + l2, 2l3, 2 = a2,3 l3, 2 =

l2,1l3,1 + a2,3 l2, 2


2

= 0.37796

l3,1 + l3, 2 + l3,3 = a3,3 l3,3 = a2, 2 l3,1 l3, 2 =1.96396

Al resolver el sistema:

Lc = b
0 0 c1 1 2 0.5 1.32287 0 c2 = 2 1 0.37796 1.96396 c3 4

c1 = 0.5 c2 = (2 0.5(0.5)) / 1.32287 = 1.32287


c3 = ( 4 0.5 + 0.37796 (1.32287 )) / 1.96396 = 2.0367

Al resolver el sistema:

LT x = c
0.5 2 0 1.32287 0 0
x3 = 2.0367 / 1.96396 =1.037

1 x1 0.5 0.37796 x2 = 1.32287 1.96396 x3 2.0367

x2 = (1.32287 + 0.37796 (1.037 )) / 1.32287 = 1.29629


x3 = (0.5 0.5(1.29629 ) 1.037 ) / 2 = 0.59259

El vector solucin es: x1 0.59259 x = 1.29629 2 x3 1.037

4. Algoritmo y codificacin. Codificado del mtodo de Cholesky en Turbo Pascal 7.0: PROGRAM CHOLESKY; USES CRT; TYPE VECTOR=ARRAY [1..26]OF REAL; MATRIZ=ARRAY [1..26,1..26]OF REAL; VAR B,E,G:VECTOR; X:REAL; A,L,U,D,H:MATRIZ; N,I,J,K,C,F,R,S:INTEGER; BEGIN clrscr; TEXTCOLOR(GREEN); WRITELN('UNIVERSIDAD TECNICA DE ORURO'); WRITELN('FACULTAD NACIONAL DE INGENIERIA'); WRITELN('DEPARTAMENTO DE MATEMATICAS'); TEXTCOLOR(WHITE); GOTOXY(27,5);WRITELN('SISTEMAS DE ECUACIONES LINEALES AX=B'); GOTOXY(35,6);WRITELN('METODO CHOLESKY'); GOTOXY(3,10);WRITE('Numero de incognitas ');TEXTCOLOR(YELLOW);READLN(N); GOTOXY(3,11);TEXTCOLOR(WHITE);WRITELN('Matriz de coeficientes [A]= '); FOR I:=1 TO N DO BEGIN FOR J:=1 TO N DO BEGIN TEXTCOLOR(YELLOW); GOTOXY(6*J,I+11);READLN(A[I,J]); END; END; TEXTCOLOR(WHITE); GOTOXY(3,I+12);WRITE('Vector de coeficientes [B]= '); FOR I:=1 TO N DO BEGIN

TEXTCOLOR(YELLOW); GOTOXY(3,J+I+12);READLN(B[I]); END; L[1,1]:=SQRT(A[1,1]); FOR I:=2 TO N DO BEGIN FOR J:=1 TO (I-1) DO BEGIN L[I,J]:=(A[I,J]-(L[I,1]*L[J,1]))/L[J,J]; END; L[I,I]:=SQRT(A[I,I]-(L[I,I-1]*L[I,I-1])) END; FOR I:=1 TO N DO BEGIN FOR J:=1 TO N DO BEGIN U[J,I]:=L[I,J]; END; END; clrscr; TEXTCOLOR(WHITE); GOTOXY(35,1);WRITELN('RESULTADOS'); GOTOXY(1,3);WRITELN('MatrIz de Cholesky'); K:=1; FOR J:=1 TO N DO BEGIN FOR I:=1 TO N DO BEGIN TEXTCOLOR(YELLOW); GOTOXY(K,I+4);WRITELN(L[I,J]:5:3); END; K:=K+8; R:=I+4; END; TEXTCOLOR(WHITE); GOTOXY(1,I+6);WRITE('Vector Y= (L^-1)*B'); {INVERSA} FOR F:=1 TO N DO BEGIN FOR C:=N+1 TO N*2 DO BEGIN L[F,C]:=0; IF N+F=C THEN BEGIN L[F,C]:=1; END; END; END;

FOR C:=1 TO N DO BEGIN FOR F:=1 TO N DO BEGIN FOR I:=2 TO N DO BEGIN IF L[C,C]=0 THEN BEGIN IF L[I,C]<>0 THEN BEGIN FOR J:=1 TO N*2 DO BEGIN L[C,J]:=L[I,J]+L[C,J]; END; END; END; END; IF C<>F THEN BEGIN IF L[F,C]<>0 THEN BEGIN X:=L[F,C]; FOR I:=1 TO N*2 DO BEGIN L[F,I]:=(X*L[C,I])-(L[F,I]*L[C,C]); END; END; END; END; END; FOR F:=1 TO N DO BEGIN X:=L[F,F]; FOR C:=1 TO N*2 DO BEGIN L[F,C]:=L[F,C]/X; END; END; FOR F:=1 TO N DO BEGIN FOR C:=N+1 TO N*2 DO BEGIN D[F,C-N]:=L[F,C]; END; END; {MULTIPLICACION DE MATRIZ,VECTOR}

FOR F:=1 TO N DO BEGIN E[F]:=0; FOR J:=1 TO N DO BEGIN E[F]:=E[F]+D[F,J]*B[J]; END; END; FOR F:=1 TO N DO BEGIN TEXTCOLOR(YELLOW); GOTOXY(1,F+R+2);WRITELN(E[F]:10:10); S:=F+R+2; END; TEXTCOLOR(WHITE); GOTOXY(1,S+2);WRITE('Vector X= (U^-1)*Y'); {INVERSA} FOR F:=1 TO N DO BEGIN FOR C:=N+1 TO N*2 DO BEGIN U[F,C]:=0; IF N+F=C THEN BEGIN U[F,C]:=1; END; END; END; FOR C:=1 TO N DO BEGIN FOR F:=1 TO N DO BEGIN FOR I:=2 TO N DO BEGIN IF U[C,C]=0 THEN BEGIN IF U[I,C]<>0 THEN BEGIN FOR J:=1 TO N*2 DO BEGIN U[C,J]:=U[I,J]+U[C,J]; END; END; END; END;

IF C<>F THEN BEGIN IF U[F,C]<>0 THEN BEGIN X:=U[F,C]; FOR I:=1 TO N*2 DO BEGIN U[F,I]:=(X*U[C,I])-(U[F,I]*U[C,C]); END; END; END; END; END; FOR F:=1 TO N DO BEGIN X:=U[F,F]; FOR C:=1 TO N*2 DO BEGIN U[F,C]:=U[F,C]/X; END; END; FOR F:=1 TO N DO BEGIN FOR C:=N+1 TO N*2 DO BEGIN H[F,C-N]:=U[F,C]; END; END; {MULTIPLICACION DE MATRIZ,VECTOR} FOR F:=1 TO N DO BEGIN G[F]:=0; FOR J:=1 TO N DO BEGIN G[F]:=G[F]+H[F,J]*E[J]; END; END; FOR F:=1 TO N DO BEGIN TEXTCOLOR(YELLOW); GOTOXY(1,F+S+2);WRITELN(G[F]:10:10); END; TEXTCOLOR(25); GOTOXY(25,F+S+4);WRITELN('presione ENTER para terminar'); READKEY; END. 5. Ejercicio y Aplicacin.

Aplicando a la carrera correspondiente que pertenece a la: Facultad nacional de ingeniera Ingenieria industrial Balanceo de Reacciones Qumicas Una aplicacin sencilla de los sistemas de ecuaciones se da en el balanceo de reacciones qumicas. La problemtica consiste en determinar el nmero entero de molculas que intervienen en una reaccin qumica Cuidando siempre que el nmero de tomos de cada sustancia se preserve. Ejemplo 2 Balancee la reaccin qumica:
aCH 4 + bO2 CO 2 + 2 H 2O

Se forma el siguiente sistema de ecuaciones:


4 2 2a 8 = 3b 8

Resolv. por el mtodo de Cholesky nos da como resultados:


a 1 b = 2

Con los cul queda balanceada nuestra ecuacin: CH 4 + 2O2 CO2 + 2 H 2O 6. Impresin y Anlisis de resultados. Ejemplo 1.

Ejemplo 2.

Como se puede observar la solucin hecha de forma manual es la misma que se obtiene del programa. 7. Conclusiones y recomendaciones. Para resolver un sistema de ecuaciones por el mtodo de Cholesky es necesario que se cumplan estas condiciones: la matriz de coeficientes debe ser simtrica y definida positivamente, ningun elemento de la diagonal principal debe ser cero. Se entendi que este mtodo esta basado en la descomposicin LU pero para casos especiales en los que la matriz de coeficientes es simtrica. Se realiz el codificado en el Turbo Pascal y se pudo comprobar que los resultados del sistema de ecuaciones son iguales.

8. Bibliografa. Mtodos Numricos aplicados a la Ingeniera, Antonio Nieves y Federico C. Domnguez. http://www.monografias.com/trabajos18/sistemas-ecuaciones/sistemasecuaciones.shtml#cooigcholes http://sepwww.stanford.edu/sep/prof/gem/hlx/paper_html/node11.html http://es.wikipedia.org/wiki/Factorizaci%C3%B3n_de_Cholesky

S-ar putea să vă placă și