Eliminación Gaussiana Descomposición LU Solución de Sistemas Lineales de Ecuaciones: Ahora si vamos e entender esto . . . Oscar Javier Garcı́a-Cabrejo1 Análisis Numérico 1 Depto. de Ingenierı́a Civil, Facultad de Ingenierı́a Pontificia Universidad Javeriana 6 de marzo de 2007 Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana. . . otra vez Caracterı́sticas Método directo (No requiere iteraciones) Procedimiento: Eliminación hacia adelante (?) Caracterı́stica: Eliminación de los elementos debajo diagonal ∆ Superior Solución: Sustitución hacia atrás Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana. . . otra vez Caracterı́sticas Método directo (No requiere iteraciones) Procedimiento: Eliminación hacia adelante (?) Caracterı́stica: Eliminación de los elementos debajo diagonal ∆ Superior Solución: Sustitución hacia atrás Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana. . . otra vez Caracterı́sticas Método directo (No requiere iteraciones) Procedimiento: Eliminación hacia adelante (?) Caracterı́stica: Eliminación de los elementos debajo diagonal ∆ Superior Solución: Sustitución hacia atrás Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana. . . otra vez Caracterı́sticas Método directo (No requiere iteraciones) Procedimiento: Eliminación hacia adelante (?) Caracterı́stica: Eliminación de los elementos debajo diagonal ∆ Superior Solución: Sustitución hacia atrás Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana. . . otra vez Caracterı́sticas Método directo (No requiere iteraciones) Procedimiento: Eliminación hacia adelante (?) Caracterı́stica: Eliminación de los elementos debajo diagonal ∆ Superior Solución: Sustitución hacia atrás Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Columna 1 Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Columna 2 Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Columna 3 Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Sustitución Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Ejemplo Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Ejemplo Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Ejemplo Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Ejemplo Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Eliminación Gaussiana: Algoritmo Procedimiento 1 Eliminación hacia adelante Para cada ecuación j, j = 1, n − 1 Para todas las ecuaciones k mayores a j Multiplique la ecuación j por akj /ajj Reste el resultado anterior de la ecuación k 2 Sustitución hacia atrás 0 Determine xn = bn /ann Reemplace xn en la ecuación n − 1 y determine xn−1 Repita el paso anterior hasta despejar todas las incógnitas Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Implementación en SCILAB: Eliminación n=length(b); for k=1:n-1;//Ciclo sobre las filas for i=k+1:n; if A(i,k)˜=0; m=A(i,k)/A(k,k); A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n); b(i)=b(i)-m*b(k); end; end; end; Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Eliminación Sustitución Ejemplo Algoritmo Implementación en SCILAB: Sustitución hacia atrás for k=n:-1:1; b(k)=(b(k)-A(k,k+1:n)*b(k+1:n))/A(k,k); end; // Asignacion del resultado al vector de salida x=b; Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Qué es esto? 1 Otro método para resolver sistemas de ecuaciones 2 Sabemos: A·x=b (1) U·x=d (2) que es equivalente a: y este sistema se puede resolver. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Qué es esto? 1 Otro método para resolver sistemas de ecuaciones 2 Sabemos: A·x=b (1) U·x=d (2) que es equivalente a: y este sistema se puede resolver. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Y seguimos con el cuento. . . Vamos a suponer que existe L tal que: L {U · x − d} = A · x − b (3) Lo cual implica que: L·U=A L·d=b Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones (4) Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Solución de Sistemas Procedimiento 1 Descomponer A en L · U 2 Dado b determinar d de L · b = dpor sustitución hacia adelante 3 Con d determinar x de U · x = d por sustitución hacia atrás. Ventaja Una vez se haya determinado L y U se puede resolver el sistema para diferentes b sin necesidad de repetir la descomposición. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Solución de Sistemas Procedimiento 1 Descomponer A en L · U 2 Dado b determinar d de L · b = dpor sustitución hacia adelante 3 Con d determinar x de U · x = d por sustitución hacia atrás. Ventaja Una vez se haya determinado L y U se puede resolver el sistema para diferentes b sin necesidad de repetir la descomposición. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Solución de Sistemas Procedimiento 1 Descomponer A en L · U 2 Dado b determinar d de L · b = dpor sustitución hacia adelante 3 Con d determinar x de U · x = d por sustitución hacia atrás. Ventaja Una vez se haya determinado L y U se puede resolver el sistema para diferentes b sin necesidad de repetir la descomposición. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Solución de Sistemas Procedimiento 1 Descomponer A en L · U 2 Dado b determinar d de L · b = dpor sustitución hacia adelante 3 Con d determinar x de U · x = d por sustitución hacia atrás. Ventaja Una vez se haya determinado L y U se puede resolver el sistema para diferentes b sin necesidad de repetir la descomposición. Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Descomposición LU Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Implementación en SCILAB: Eliminación n=length(b); for k=1:n-1;//Ciclo sobre las filas for i=k+1:n; if A(i,k)˜=0; m=A(i,k)/A(k,k); A(i,k+1:n)=A(i,k+1:n)-m*A(k,k+1:n); b(i)=b(i)-m*b(k); A(i,k)=m; end; end; end; Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones Eliminación Gaussiana Descomposición LU Introducción Procedimiento Algoritmo Implementación en SCILAB: Separación U=triu(A); // L=tril(A,-1); // Se asignan 1.0 a las diagonales for i=1:n; L(i,i)=1.0; end; Garcı́a-Cabrejo Solución de Sistemas Lineales de Ecuaciones