Solución de Sistemas Lineales de Ecuaciones

Anuncio
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
Descargar