Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESUMEN
En el último siglo, el desarrollo de métodos numéricos para resolver problemas de valores iniciales de ecuaciones cuya solución no es factible por
métodos convencionales, y además éstas pudieran poseer múltiples soluciones, ha facilitado en gran medida el trabajo de muchos científicos. La
intención de este trabajo es dar un breve resumen de lo útil que son los métodos numéricos para la solución de ecuaciones no lineales. Por lo
general, para realizar el cálculo de la solución algebraica de ecuaciones lineales se utiliza la eliminación gaussiana con pivote parcial (EGPP), sin
embargo cuando el número de cálculos incrementa, también aumenta el uso de recursos computacionales En este caso en particular se realiza una
discusión tanto computacional como teórica, que se centra en un núcleo de álgebra lineal ampliamente utilizada para resolver sistemas lineales,
donde la descomposición LU con pivoteo parcial (PLU), por sus siglas en inglés, es uno de los más utilizados en ecuaciones no lineales, con la
característica de tiempo resuelto (solución en tiempo real, conforme varía la respuesta dada por el equipo). El artículo se enfoca en la investigación
del método PLU para la solución de ecuaciones no lineales, incluida la solución numérica en un campo práctico, desde un ejemplo sencillo como
una matriz de 3x3 hasta instancias más complejas como dinámica, química, economía, astrofísica, análisis térmicos, solo por mencionar algunos.
Incluye una discusión sobre cuáles son las ventajas y desventajas del método sobre otros métodos, la precisión y estabilidad del método y cómo se
puede aproximar numéricamente el orden de varios métodos, el análisis se realizó con el desarrollo de un código de programación, para la
resolución de ecuaciones algebraicas, mediante el método PLU, se usó en el lenguaje usado para Scilab.
PROGRAMACIÓN DEL MÉTODO Se programó otra función que ejecute la solución del sistema
de ecuaciones en forma de cascada, que realice la operación
//Metodo PLU descrita en la ecuación (3.1.3)
clear function [b]=Cascada(n, b, L)
clc for i=1:n//Cascada
Se programó una función que realiza el pivoteo en las b(i)=b(i)/L(i,i)
diferentes posiciones de la matriz A, realiza las eliminaciones
y guarda realiza las operaciones y movimientos en las matrices L(i,i)=L(i,i)/L(i,i)
U, L y P. for j=i+1:n
function [U, L, P]=omatriz(U, n, m) x=L(j,i)/L(i,i)
L=zeros(n,m) b(j)=b(j)-x*b(i)
P=eye(n,m) L(j,i)=L(j,i)-x*L(i,i)
for i=1:n-1 end
maximo = abs(U(i,i)) end
endfunction resultados de aplicar la función en que se obtienen las matrices
P, L y U antes de que se soliciten las matrices de resultados de
Se programó una tercer función que ejecute la solución del
forma que verifique el adecuado funcionamiento.
sistema de ecuaciones en forma de cascada inversa, que realice
la operación descrita en la ecuación (3.1.2). U=A
function [r, U]=Cascadainversa(n, U, r) [U,L,P]=omatriz(U,n,m)
for i=n:-1:1 disp("P",P)
r(i)=r(i)/U(i,i) disp("L",L)
U(i,i)=U(i,i)/U(i,i) disp("U",U)
for j=i-1: -1: 1 Una vez que se tienen las matrices L, P y U se solicita al
usuario la cantidad de matrices de resultados para que se
x=U(j,i)/U(i,i)
resuelva, se solicita que la matriz de resultados tenga el tamaño
r(j)=r(j)-x*r(i) adecuado.
U(j,i)=U(j,i)-x*U(i,i) t = input("Introduce el numero de vectores de resultados que
quieres resolver: ")
end
for i=1:t
end
b = input("Ingresa el vector de resultados: ")
endfunction
s=length(b)
Una vez establecidas las funciones que ejecutaran las
operaciones para la solución del sistema de ecuaciones a través if s<>n then
del método PLU, se elaboró el programa principal para que el
disp("Error:vector de resultados incorrecto, Ingresa otro
usuario resuelva el sistema de ecuaciones. En un inicio
vector")
estableciendo las condiciones para que el usuario ingrese una
matriz que se pueda resolver cumpliendo las condiciones de else
que sea una matriz cuadrada y cuyo determinante sea diferente
z = P*b
de 0.
[y]=Cascada(n,z,L)
//Programa Principal
disp("y",y)
salir=0
[x,U]=Cascadainversa(n,U,y)
while salir==0
disp("x",x)
A = input("Ingresa la matriz a calcular: ")
end
n=size(A,1)
end
m=size(A,2)
if n<>m then EJEMPLO Y RESULTADOS
salir=0 Se presenta el siguiente sistema:
CONCLUSIONES
Podemos decir fácilmente que los métodos numéricos son muy
importantes para las matemáticas. Las ecuaciones diferenciales
tienen un papel vital en el área de las ciencias aplicadas y la
ingeniería. Una amplia variedad de problemas surge de la
dinámica de poblaciones, la astrofísica, la dinámica de fluidos,
la biología de modelado, la ingeniería y otras áreas. Aunque
algunas de estas ecuaciones se pueden resolver analíticamente,
los métodos numéricos también son muy útiles y necesarios si
no se puede obtener una solución exacta analíticamente. Para
este tipo de problemas, los métodos numéricos son las únicas
opciones para aproximar la solución. Son herramientas muy
importantes y poderosas para resolver ecuaciones diferenciales
ordinarias lineales o no lineales y también para sistemas de
ecuaciones diferenciales.
REFERENCIAS
[1] Pan, C. T. (2000). On the existence and computation of rank-
revealing LU factorizations. Linear Algebra and Its
Applications, 316(1–3), 199–222.
https://doi.org/10.1016/S0024-3795(00)00120-8
[2] Jameson, A., & Turkel, E. (1981). Implicit schemes and $LU$
decompositions. Mathematics of Computation, 37(156), 385–385.
https://doi.org/10.1090/s0025-5718-1981-0628702-9
[3] Quintana-Ortí, E. S., & Van De Geijn, R. A. (2008). Updating an
LU factorization with pivoting. ACM Transactions on
Mathematical Software, 35(2), 1–16.
https://doi.org/10.1145/1377612.1377615
[4] Fu, C., Jiao, X., & Yang, T. (1998). Efficient sparse LU
factorization with partial pivoting on distributed memory
architectures. IEEE Transactions on Parallel and Distributed
Systems, 9(2), 109–125. https://doi.org/10.1109/71.663864
[5] Subocz, J. (1969). The Simplex Method of Programming Using
LU Decomposition. Comm. ACM, (5), 333–336.
[6] I., S., & S., G. (2007). Álgebra lineal.