Documentos de Académico
Documentos de Profesional
Documentos de Cultura
. 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:
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 :
Una vez que se resuelve (1.9), procedemos a resolver el sistema (1.8), que es un sistema triangular superior
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
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
= 0.37796
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
Al resolver el sistema:
LT x = c
0.5 2 0 1.32287 0 0
x3 = 2.0367 / 1.96396 =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
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