630 likes | 866 Vues
Motivaci?n. En el tema anterior (Ra?ces de ecuaciones) se estudiaron m?todos para determinar el valor de x que satisface a una sola ecuaci?n, f(x) = 0Ahora, nos ocuparemos del caso para determinar los valores de x1, x2,? xn que en forma simult?nea satisfacen a un conjunto de ecuaciones algebraica
E N D
2. Motivacin En el tema anterior (Races de ecuaciones) se estudiaron mtodos para determinar el valor de x que satisface a una sola ecuacin, f(x) = 0
Ahora, nos ocuparemos del caso para determinar los valores de x1, x2, xn que en forma simultnea satisfacen a un conjunto de ecuaciones algebraicas lineales
3. Motivacin Estudiaremos mtodos para resolver conjuntos de ecuaciones algebraicas lineales que son de la forma general,
4. Mtodos empleados antes de la era de las computadoras Para pocas ecuaciones (n = 3), las ecuaciones lineales se pueden resolver con rapidez mediante tcnicas simples
Mtodo grfico
Para n = 2 ? la solucin corresponde a la interseccin de lneas rectas
Para n = 3 ? cada ecuacin representa un plano. La solucin corresponde al punto donde se intersectan los 3 planos
Para n > 3 ? los mtodos grficos no funcionan
Caso que pueden ocasionar problemas
5. Mtodos empleados antes de la era de las computadoras Determinantes y Regla de Cramer
Determinante de una matriz de coeficientes 2?2
Determinante de una matriz de coeficientes 3?3
6. Mtodos empleados antes de la era de las computadoras
7. Mtodos empleados antes de la era de las computadoras Regla de Cramer
Cada incgnita en un sistema de ecuaciones algebraicas lineales puede ser expresada como una fraccin de dos determinantes
El denominador es el determinante de la matriz de coeficientes
El numerador es el determinante de una matriz en la cual se reemplaza la columna de coeficientes de la incgnita por el vector de constantes {B}
8. Ecuaciones algebraicas lineales y prctica de la ingeniera Muchas de las ecuaciones fundamentales de ingeniera estn basadas en leyes de conservacin
En trminos matemticos, esos principios conducen a ecuaciones de balance que relacionan el comportamiento del sistema con las propiedades o caractersticas y los estmulos externos que actan sobre el sistema
En el captulo anterior se trabaj con sistemas de un solo componente que resultaba en una sola ecuacin que se resolva con mtodos de clculo de races
Los sistemas multicomponentes resultan en un conjunto agrupado de ecuaciones matemticas que deben ser resueltas simultneamente
9. Ecuaciones algebraicas lineales y prctica de la ingeniera Problemas multicomponentes surgen tanto de modelos matemticos de variables agrupadas como de variables distribuidas
Los problemas de variables agrupadas involucran componentes finitos acoplados
Armaduras
Reactores
Circuitos elctricos
Los problemas de variables distribuidas intentan describir detalles espaciales de los sistemas sobre una base continua
Las ecuaciones diferenciales derivadas a partir de leyes de conservacin especifican la distribucin de la variable dependiente para tales sistemas
Esas ecuaciones se pueden resolver numricamente al convertirlas en un sistema equivalente de ecuaciones algebraicas simultneas
10. Ecuaciones algebraicas lineales y prctica de la ingeniera
Adems de los problemas fsicos, las ecuaciones algebraicas lineales simultneas surgen tambin en diferentes contextos de problemas matemticos
Algunas tcnicas numricas de uso general que emplean ecuaciones simultneas son el anlisis de regresin y la interpolacin segmentaria
11. Antecedentes matemticos necesarios Notacin matricial
En la solucin de ecuaciones algebraicas lineales
No. de ecuaciones = No. de filas
No. de variables = No. de columnas
12. Antecedentes matemticos necesarios Operaciones de matrices
Suma
Multiplicacin de una matriz por un escalar: se multiplica cada elemento de la matriz por el escalar
Multiplicacin de dos matrices
13. Antecedentes matemticos necesarios Operaciones de matrices
Divisin: la divisin de una matriz no es una operacin definidasin embargo, si una matriz A es cuadrada y no singular, existe otra matriz A-1, llamada inversa de A para la cual A?A-1 = A-1?A=I
Transpuesta de una matriz: consiste en transformar sus filas en columnas y viceversa
Traza de una matriz: es la suma de los elementos de su diagonal principal
14. Representacin de ecuaciones algebraicas lineales en forma matricial
Una manera formal para obtener la solucin usando algebra matricial es multiplicando cada lado de la ecuacin por la inversa de A
15. Mtodos numricos para la solucin de ecuaciones algebraicas lineales Eliminacin de Gauss
Descomposicin LU ? valiosa para casos donde se necesita evaluar muchos vectores del lado derecho. Permite hacer eficiente el clculo de la matriz inversa
Tcnicas eficientes para la solucin de sistemas tridiagonales (matrices en banda)
Mtodo de Gauss-Seidel ? mtodo iterativo
16. Eliminacin de Gauss Este mtodo involucra una combinacin de ecuaciones para eliminar las incgnitas
Es uno de los mtodos ms antiguos y sigue siendo uno de los algoritmos de mayor importancia
17. Eliminacin de Gauss Eliminacin de incgnitas
La estrategia bsica es multiplicar las ecuaciones por constantes, de tal forma que se elimine una de las incgnitas cuando se combinen las ecuaciones
El resultado es una sola ecuacin que se puede resolver para la incgnita restante
Este valor se sustituye en las ecuaciones originales para calcular la otra variable
Este mtodo representa la base para la eliminacin de Gauss
Se puede extender a grandes sistemas de ecuaciones desarrollando un esquema sistemtico para eliminar incgnitas y sustituir hacia atrs
18. Eliminacin de Gauss Eliminacin de Gauss simple ? el mtodo consiste en dos fases
Eliminacin de incgnitas
Reduce el conjunto de ecuaciones a un sistema triangular superior
Primero se elimina la primera incgnita, x1, desde la segunda hasta la n-ensima fila, multiplicando por a21/a11 a la primera ecuacin, luego restando sta a la segunda
El procedimiento es repetido para las ecuaciones restantes
Para este paso la ecuacin 1 es la ecuacin pivote y a11 es el coeficiente pivote
Solucin por sustitucin hacia atrs
Al finalizar la eliminacin, la ecuacin n puede resolverse para xn
19. Eliminacin de Gauss Seudo cdigo
DO k = 1, n-1
DO i = k+1, n
Factor = ai,k/ak,k
DO j = k+1, n
ai,j = ai,j - factor * ak,j
END DO
bi = bi -factor * bk
END DO
END DO
xn =bn / an,n
DO i = n-1, 1, -1
sum = 0
DO j = i+1, n
sum = sum + ai,j * xj
END DO
xi = (bi - sum) / ai,i
END DO
20. Eliminacin de Gauss Ejemplo
Eliminacin
21. Eliminacin de Gauss Nmero de operaciones de punto flotante para Gauss simple
Para un sistema que se hace cada vez ms grande, el tiempo de clculo se incrementa considerablemente
La mayor parte del esfuerzo ocurre en el paso de la eliminacin. Por lo que se hace necesario hacer ms eficiente el procedimiento
22. Desventajas del mtodo de eliminacin de Gauss Divisin entre cero
Durante las fases de eliminacin y sustitucin es posible que ocurra divisin entre cero
Tambin se pueden presentar problemas cuando el coeficiente es muy cercano a cero
Para evitar estos problemas se utiliza una tcnica de pivoteo
23. Desventajas del mtodo de eliminacin de Gauss Errores de redondeo
Debido a que las computadoras manejan slo un nmero limitado de cifras significativas, pueden ocurrir errores de redondeo y se deben considerar al evaluar los resultados
Estos errores pueden ser importantes para sistemas con un gran nmero de ecuaciones
Debido a que cada resultado depende del anterior, el error de los primeros pasos tiende a propagarse
Una regla general es la de suponer que los errores de redondeo son importantes cuando n = 100
Siempre se debe sustituir los resultados en las ecuaciones originales y verificar si ha ocurrido un error sustancial
24. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados
Sistemas bien condicionados son aquellos en los que un pequeo cambio en uno o ms coeficientes provoca un pequeo cambio en la solucin
Sistemas mal condicionados son aquellos en donde pequeos cambios en los coeficientes generan grandes cambios en la solucin
Es decir un amplio rango de soluciones puede satisfacer las ecuaciones en forma aproximada
Los errores de redondeo pueden inducir pequeos cambios en los coeficientes, si el sistema est mal condicionado estos cambios artificiales pueden generar grandes errores en la solucin
25. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados
Ejemplo
Cambiando a21 de 1.1 a 1.05
sustituyendo en las ecuaciones originales
26. Desventajas del mtodo de eliminacin de Gauss Sistemas mal condicionados
Esta situacin se puede caracterizar de forma matemtica, escribiendo las ecuaciones en su forma general
Arreglando las ecuaciones en un formato de lneas rectas
Si las pendientes son casi iguales
27. Desventajas del mtodo de eliminacin de Gauss Sistemas singulares
Son aquellos donde dos o ms ecuaciones son iguales
En el caso donde dos ecuaciones son iguales se pierde un grado de libertad siendo imposible resolver el problema de n-1 ecuaciones con n incgnitas
Tales casos podran no ser obvios cuando se trabaja con grandes conjuntos de ecuaciones
Se hace necesario tener una forma que de manera automtica detecte la singularidad del sistema
Esto se logra debido al hecho de que el determinante de un sistema singular es cero
Durante el proceso de eliminacin se chequea si un elemento de la diagonal es cero, al descubrir uno se puede terminar inmediatamente y generar una excepcin o mensaje de error
28. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Uso de ms cifras significativas
La solucin ms simple para el mal condicionamiento es usar ms cifras significativas en los clculos
El uso de la precisin expandida tiene un precio que se eleva en forma de tiempo de clculo y cantidad de memoria
Pivoteo
Ocurren problemas de divisin por cero cuando el coeficiente pivote es cero
Cuando el coeficiente pivote es cercano a cero se pueden introducir errores de redondeo, porque su magnitud puede ser muy pequea al compararla con la de los dems coeficientes
Para evitar esto se utiliza el pivoteo parcial
29. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Pivoteo parcial
Antes de normalizar cada fila, se determina el mayor coeficiente pivote disponible en la columna que est por debajo del elemento pivote
Las filas se intercambian de manera tal que el coeficiente ms grande sea el pivote
Ventajas del pivoteo parcial
Evita la divisin entre cero
Minimiza el error de redondeo
30. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Pivoteo parcial
Ejemplo
31. Seudo cdigo para implementar el pivoteo parcial Se puede usar como una subrutina que podra ser llamada directamente despus del inicio del primer ciclo de eliminacin
Aqu se intercambian de forma fsica las filas. Para grandes matrices esto puede consumir mucho tiempo
Lo que se hace es no intercambiar las filas sino que se guarda el orden de los pivotes en un vector, y segn este orden se llevan a cabo las operaciones de eliminacin y sustitucin SUB pivot(a, b, n, k)
p = k
big = abs(ak,k)
DO ii = k+1, n
dummy = abs(aii,k)
IF (dummy > big)
big = dummy
p = ii
END IF
END DO
IF (p ? k)
DO jj = k, n
dummy = ap,jj
ap,jj = ak,jj
ak,jj = dummy
END DO
dummy = bp
bp = bk
bk = dummy
END IF
32. Tcnicas para mejorar las soluciones del mtodo de eliminacin de Gauss Escalamiento
El escalamiento revela si el pivoteo es necesario
Si es necesario, se pivotea pero se retienen los coeficientes originales de la ecuacin escalada
El escalamiento se usa para calcular los valores escalados de los coeficientes que servirn como un criterio de pivoteo
Ejemplo
33. Descomposicin LU e Inversin de matrices Descomposicin LU
El principal atractivo de este mtodo es que el paso de eliminacin, que consume tiempo, se puede reformular de tal manera que involucre slo operaciones sobre los elementos de la matriz de coeficientes, A
De esta forma, es muy adecuado para aquellas situaciones donde se debe evaluar muchos vectores {B}
El mtodo de eliminacin de Gauss puede implementarse como una descomposicin LU
La descomposicin LU proporciona un medio eficaz para calcular la matriz inversa, la cual a su vez permite evaluar la condicin de un sistema
34. Descomposicin LU Partiendo de un sistema de ecuaciones lineales de la forma,
Este se puede ordenar como,
El primer paso de la eliminacin de Gauss resulta en un sistema con una matriz tringular superior
Que puede ser expresada como, Ahora, suponga que existe una matriz triangular inferior con nmeros 1 sobre la diagonal
que tiene la siguiente propiedad
si esta propiedad se cumple, de las reglas de multiplicacin de matrices se obtiene,
35. Descomposicin LU Estrategia para resolver el sistema
Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U]
Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos:
Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante, debido a que [L] es una matriz triangular inferior
Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs
36. Descomposicin LU Descomposicin LU con base en la eliminacin de Gauss
Partiendo de una matriz de coeficientes, se llega a una matriz triangular superior
Para llegar a esta matriz [U]
37. Descomposicin LU Descomposicin LU con base en la eliminacin de Gauss
Paso de descomposicin LU: la matriz [A], se factoriza o descompone en matrices triangulares inferior [L] y superior [U]
Paso de sustitucin: [L] y [U] se usan par determinar una solucin {X} para un vector {B}. Este paso consta de dos subpasos:
Se determina el vector intermedio {D} resolviendo [L]{D}={B} por sustitucin hacia delante
Se determina {X} resolviendo [U]{X}={D} por sustitucin hacia atrs
38. Seudo cdigo para descomposicin LU
39. Seudo cdigo para descomposicin LU
40. Seudo cdigo para descomposicin LU
41. Matriz inversa Para una matriz cuadrada [A], hay otra matriz [A]-1 conocida como la inversa de [A], para la cual se cumple,
[A] [A]-1 = [A]-1[A] = I
La matriz inversa se puede calcular en una forma de columna por columna a partir de vectores unitarios como vector de constantes del sistema de ecuaciones lineales algebraicas
Por ejemplo, para determinar la primera columna de la matriz inversa se resuelve el sistema con el vector de constantes B=[1 0 0]T
para determinar la segunda columna se usa B=[0 1 0]T
y as sucesivamente
42. Matriz inversa La descomposicin LU representa la mejor forma para implementar el clculo de la matriz inversa, ya que una vez obtenida la descomposicin LU de la matriz A se puede calcular su inversa resolviendo cada columna con los vectores unitarios como constantes
Ejemplo: Determinar la inversa de
43. Anlisis de error y condicin del sistema La matriz inversa permite determinar si un sistema est mal condicionado, para esto existen 3 mtodos:
Escalar la matriz de coeficientes [A], de tal manera que el elemento ms grande en cada fila sea 1. Si al invertir la matriz escalada existen elementos de la inversa [A]-1 que sean varios ordenes de magnitud mayores que la unidad, es probable que el sistema est mal condicionado
Multiplicar la inversa por la matriz de coeficientes original y verificar que [A][A]-1 ? I. Si no es as, indica que el sistema est mal condicionado
Invertir la matriz inversa y verificar que el resultado est lo suficientemente cercano a la matriz original. Si no es as, indica que el sistema est mal condicionado
44. Nmero de condicin de una matriz
Este nmero mide la sensibilidad de la solucin de un sistema de ecuaciones lineales a errores en los datos
Valores cercanos a 1 indican que el sistema est bien condicionado
Valores grandes indican que la matriz es casi singular
45. Nmero de condicin de una matriz
Norma 2, o normal espectral
?max es el eigenvalor ms grande de [A]T[A]. Esta es la la norma mnima, por lo tanto proporciona la medida de tamao ms ajustada
46. Matrices especiales Matrices banda
Matrices simtricas
Una matriz banda es una matriz cuadrada en la que todos sus elementos son cero, con excepcin de una banda centrada sobre la diagonal principal
47. Matrices especiales La eliminacin de Gauss o la descomposicin LU pueden emplearse para resolver sistemas de banda, pero si el pivoteo no es necesario resultan ineficientes, porque se utilizara tiempo y espacio innecesario en el almacenamiento y manejo de ceros
Si se sabe de antemano que el pivoteo es innecesario, se pueden desarrollar algoritmos muy eficientes que no involucren los elementos cero fuera de la banda
48. Sistemas tridiagonales Un sistema tridiagonal (ancho de banda = 3) se puede expresar como
Se cambia la notacin
a ? e, f, g
b ? r
para evitar guardar ceros, ahorrando espacio
49. Sistemas tridiagonales Ejemplo
50. Algoritmo de Thomas (TDMA, tridiagonal matrix algorithm) El algoritmo consiste en tres pasos:
Descomposicin
Sustitucin hacia delante
Sustitucin hacia atrs
Manteniendo todas las ventajas de la descomposicin LU
51. Seudo cdigo para algoritmo de Thomas a) Descomposicin
DO k = 2, n
ek = ek/fk-1
fk = fk - ek*gk-1
END DO
b) Sustitucin hacia adelante
DO k = 2,n
rk = rk - ek*rk-1
END DO
c) Sustitucin hacia atrs
xn = rn/fn
DO k = n-1,1,-1
xk = (rk - gk*xk+1)/fk
END DO
52. Descomposicin de Cholesky La descomposicin o factorizacin de Cholesky expresa una matriz simtrica como el producto de una matriz triangular y su transpuesta
A = LLT ? L: matriz triangular inferior
No todas las matrices simtricas se pueden factorizar de esta forma
Las matrices que tienen este tipo de factorizacin son las matrices simtricas definidas positivas. Esto implica que todos los elementos de la diagonal sean positivos y que los elementos fuera de la diagonal no sean muy grandes
53. Descomposicin de Cholesky Los trminos de la descomposicin se pueden multiplicar entre si. El resultado se puede expresar en forma simple por relaciones recurrentes
Para la fila k
54. Descomposicin de Cholesky Ejemplo,
55. Seudo cdigo para la descomposicin de Cholesky for k = 1:n
for i = 1:k-1
sum = 0;
for j = 1:i-1
sum = sum + A(i,j)*A(k,j);
end
A(k,i) = (A(k,i) - sum)/A(i,i);
end
sum = 0;
for j = 1:k-1
sum = sum + A(k,j)^2;
end
A(k,k) = sqrt(A(k,k) - sum);
end
56. Mtodo de Gauss-Seidel Este es un mtodo iterativo
Dado un conjunto de ecuaciones, AX = B
Si los elementos de la diagonal son diferentes de cero, se puede resolver la ecuacin i para la variable i, donde i = 1n
Se puede empezar el proceso de solucin al escoger los valores iniciales de las variables x (xi = 0)
57. Mtodo de Gauss-Seidel Los valores iniciales se sustituyen en la primera ecuacin para calcular un nuevo valor para x1
Este nuevo valor de x1 junto con los dems valores iniciales se sustituyen en la segunda ecuacin para calcular un nuevo valor para x2
Este proceso se repite hasta calcular los nuevos valores de las n variables
Despus se regresa a la primera ecuacin y se repite todo el procedimiento hasta que la solucin converja a la solucin real
La convergencia se puede verificar usando el criterio,
58. Criterio de convergencia del mtodo de Gauss-Seidel Este mtodo es similar en esencia al mtodo de iteracin de punto de fijo que se usa para el clculo de races de una ecuacin
Presenta las mismas desventajas:
En algunos casos no converge
En algunos casos la convergencia es lenta
Las condiciones suficientes para la convergencia de dos ecuaciones no lineales tambin aplican para ecuaciones lineales cuando se usa Gauss-Seidel
59. Criterio de convergencia del mtodo de Gauss-Seidel En el caso de dos ecuaciones el mtodo de Gauss-Seidel se expresa como
Las derivadas parciales de estas ecuaciones con respecto a las variables son
Para que se cumplan las condiciones suficientes de convergencia
60. Criterio de convergencia del mtodo de Gauss-Seidel El valor absoluto de la pendiente de las ecuaciones rectas debe ser menor que la unidad para asegurar convergencia
Rerformulando,
El elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada fila (sistemas diagonal dominantes)
Generalizando para n ecuaciones
El criterio es suficiente pero no necesario para convergencia
61. Mejoras a la convergencia por medio de relajacin La relajacin representa una ligera modificacin al mtodo de Gauss-Seidel y est diseada para mejorar la convergencia
Despus de calcular cada nuevo valor de x, ese valor se modifica por un promedio ponderado de los resultados de las iteraciones anterior y actual:
?: es el coeficiente de relajacin que tiene un valor entre 0 y 2
Si ? = 1 ? el resultado no se modifica
Si 0 < ? < 1 ? el resultado es un promedio ponderado de xinuevo y xianterior (subrelajacin), se usa para hacer que un sistema no convergente, converja o converja ms rpido al amortiguar sus oscilaciones
Si 1 < ? < 2 ? se le da una ponderacin extra al valor actual (sobrerelajacin), acelera la convergencia de un sistema que ya es convergente. Tambin es conocida como sobrerelajacin simultnea o sucesiva, SOR
62. Seudo cdigo para el mtodo de Gauss-Seidel con relajacin SUBROUTINE Gseid(a,b,n,x,imax,es,lambda)
for i = 1:n
dummy = a(i,i);
for j = 1:n
a(i,j) = a(i,j)/dummy;
end
b(i) = b(i)/dummy;
end
for i = 1:n
sum = b(i);
for j = 1:n
if i ~= j
sum = sum - a(i,j)*x(j);
end
end
x(i) = sum;
end
iter = 1; while iter < maxIteraciones
sentinel = 1;
for i = 1:n
old = x(i);
sum = b(i);
for j = 1:n
if i ~= j
sum = sum - a(i,j)*x(j);
end
end
x(i) = lambda * sum +(1.0-lambda)*old;
if sentinel == 1 AND x(1) ~= 0.0
ea = abs((x(i)-old)/x(i))*100;
if ea > es
sentinel = 0;
end
end
end
iter = iter + 1;
if sentinel == 1
break
end
end