Академический Документы
Профессиональный Документы
Культура Документы
Capítulo 2
SOLUCIÓN DE SISTEMAS LINEALES: MÉTODOS DIRECTOS
Estudiaremos el Método de Gauss del ya ensalzado ‘príncipe de las
matemáticas’, Carl Friedrich Gauss (1777-1855), quien sistematizó
este proceso de solución de sistemas lineales, y lo incluyó en su artículo
de 1811 titulado ‘Disquisitio de Elementis Ellipticis Palladis ex
oppositionibus annorum 1803, 1804, 1805, 1807, 1808, 1809’. Wilhelm
Jordan (1842-1899), ingeniero geodésico alemán, desarrolló el Método
de Gauss-Jordan, profundizó el método de eliminación y publicó su
trabajo en 1895 en su libro ‘Handbuch der Vermessungskunde’.
(1)
Los elementos aij y bi son números reales fijados. El sistema de ecuaciones (1) se puede escribir,
empleando una muy útil representación matricial, como:
Entonces podemos denotar estas matrices por A, x y b de forma que la ecuación se reduce
simplemente a:
Ax = b (3)
Ahora bien, ¿cómo resolvemos este problema? La respuesta, pasa por el uso del método de
Eliminación Gaussiana, el cual estudiaremos, sin significar que no existan otras alternativas, pero
esta es una de las que requiere menos operaciones aritméticas, lo cual lo califica como un algoritmo
de buen desempeño, y por ello muy apreciado y utilizado.
Página 2
Cristian Amador Loli Prudencio
Sistema Diagonal
Analizaremos previamente un sistema que sea fácil de resolver. Por ejemplo, supongamos que la
matriz A de nxn presenta estructura diagonal, es decir, todos los componentes distintos de cero se
encuentran sobre la diagonal principal. El sistema de ecuaciones (2) toma por tanto la forma:
a11 0 0 ... 0 x1 b1
0 a 0 ... 0 x2 b2
22
(5)
Sistema Triangular
Triangular Inferior
Continuando con la búsqueda de sistemas con soluciones fáciles, supongamos ahora que A tiene una
estructura triangular inferior, es decir, todos los elementos de A distintos de cero se sitúan bajo la
diagonal principal:
a11 0 0 ... 0 x1 b1
a ... 0 x2 b2
21 a22 0
a31 a32 a33 ... 0 x3 b3 (6)
an1 an 2 an 3 ... ann xn bn
Es fácil ver que el valor de x1 se obtiene directamente a partir de la primera ecuación. Sustituyendo
el valor conocido de x1 en la segunda ecuación es posible obtener el valor de x2. Procediendo de la
misma forma para el resto de las ecuaciones, es posible obtener todos los valores x1 , x2, x3, ..., xn
uno tras otro y en ese orden. El algoritmo formal para encontrar la solución se denomina
sustitución progresiva (hacia adelante) y se puede expresar como:
(7)
Página 3
Cristian Amador Loli Prudencio
Triangular Superior
Se puede emplear el mismo razonamiento para el caso en que la estructura de la matriz A sea
triangular superior. En este caso el sistema matricial adopta la forma:
y es posible obtener las soluciones en el orden xn, xn-1, ..., x1, empleando en este caso una
modificación del algoritmo expresado por la ecuación (7) y que denominados algoritmo de
sustitución regresiva (hacia atrás):
(9)
Como es lógico, los métodos descritos se pueden aplicar a todos aquellos sistemas que se pueden
convertir en un sistema triangular permutando filas y columnas de forma adecuada, este proceso
ordenado se llama Eliminación Gaussiana.
ELIMINACIÓN GAUSSIANA
Es la aplicación de las Operaciones Elementales (Fila o Columna) para transformar una matriz a una
matriz más manejable, es decir a una matriz triangular, a una matriz diagonal, a una matriz
escalonada, a una matriz identidad.
ii) Escalamiento: una fila se puede multiplicar por una constante diferente de cero.
fila
i fila
i
iii) Reemplazo: una fila puede ser reemplazada por la suma de esa fila y otra fila escalada.
i
fila j
filafila
i
De forma análoga a las anteriores operaciones pero esta vez se realizan con columnas.
i) Intercambio: col
i col
j
Página 4
Cristian Amador Loli Prudencio
i
iii) Reemplazo: col j
colcol
i
El sistema Ax = b, puede ser almacenado en un arreglo de n x (n + 1); donde los coeficientes del
vector b se almacenan en la columna (n + 1) del arreglo. Esta nueva matriz, es conocida como
matriz aumentada y se la denota como [A, b]:
a11 a12 ... a1n b1
a21 a22 ... a2n b2
. . . .
A,b
. . . .
. . . .
a
n1 an2 ... ann bn
Arranquemos ya de nuestra matriz aumentada [A, b], que ahora denotamos [A(1), b(1)], y a
continuación explicitamos tras haber colocado el superíndice (1) a los coeficientes y a los términos
independientes, para indicar que estamos ante el primero de una serie:
a11(1) a12(1) a13(1) ... a1(1)n b1(1)
(1) (1) (1)
a21 a22 a23 ... a2(1)n b2(1)
1 1
A ,b = a31
(1) (1)
a32 (1)
a33 ... a3(1)n b3(1) (10)
a (1) an(1)2 an(1)3 (1) (1)
n1 ... ann bn
En la primera etapa construiremos [A(2), b(2)], denotada con el superíndice (2), que se obtiene del
sistema anterior tras eliminar la incógnita x1 de todas las ecuaciones salvo de la primera, lo cual se
traduce en que la matriz aumentada tenga en la primera columna debajo de a11(1) todos ceros. Para
ello, utilizamos las operaciones elementales fila siguientes, con la simbología fácilmente entendible:
ai(1)
Fi m F Fi , con mi1 (1) , i 2,3,..., n
(1) (1) (2) 1
i1 1 (11)
a11
Implícitamente se supone a11 0 . Obviamente el sistema A(2)x = b(2) adopta la forma:
(1)
Página 5
Cristian Amador Loli Prudencio
Nuevamente percátese de que a22 0 . Aparece el sistema A(3)x = b(3) con la siguiente forma:
(2)
Siguiendo este protocolo, llegamos por fin al sistema triangular superior A(n)x = b(n),
A x b A x b ... A
n 1
x b
n 1
A x b ,
1 1 2 2 n n
manteniendo intactas las q primeras ecuaciones y modificando las restantes de acuerdo con las
expresiones
aiq( q )
, con miq , i q 1,..., n
( q 1)
Fi (q)
miq F q
(q)
Fi (q)
(16)
aqq
Para q 1, 2,..., n 1 , la ecuación q-ésima del sistema A x b
q q (q)
se llama ecuación pivotal, aqq es
el elemento pivote, y a los escalares miq se les llama multiplicadores.
Página 6
Cristian Amador Loli Prudencio
6
pivote 2 2 4 12
m 12
6 2 12
8 6 10 34
21
1
m 3
31 6 3 139 3 27
2
m
416
6
1
6 4 118
38
El sistema triangular superior es equivalente al sistema original (las soluciones de ambos sistemas
coinciden). Sin embargo, este sistema es fácilmente resoluble aplicando el algoritmo de sustitución
regresiva. La solución del sistema de ecuaciones resulta ser:
Página 7
Cristian Amador Loli Prudencio
En la primera etapa construiremos [A(2), b(2)], que se obtiene del sistema anterior tras eliminar la
incógnita xn de todas las ecuaciones salvo de la última, lo cual se traduce en que la matriz aumentada
(1)
tenga en la última columna encima de ann todos ceros. Para ello, utilizamos las operaciones
elementales fila siguientes, con la simbología fácilmente entendible:
ain(1)
Fi min F Fi , con min , i 1, 2,..., n 1
(1) (1) (2)
n (1) (18)
ann
Implícitamente se supone ann 0 . Obviamente el sistema A(2)x = b(2) adopta la forma:
(1)
Siguiendo este protocolo, llegamos por fin al sistema triangular inferior A(n)x = b(n),
Página 8
Cristian Amador Loli Prudencio
Ejemplo 2
Plantemos la resolución del siguiente sistema de ecuaciones, con eliminación gaussiana con
sustitución progresiva:
m14 = 2/9 6 2 12
2 4
m24 = 5/9 12 8 6 10 34
m34 = 1/ 6 3 13 9 3 27
pivote 6 4 1 18 38
Página 9
Cristian Amador Loli Prudencio
y la solución es:
2 1
2
x
1 1
x 1 x 1
1 2
El problema anterior no radica en la pequeñez del término aii, sino en su pequeñez relativa respecto
de los otros elementos de su fila. La conclusión que podemos extraer es que un buen algoritmo debe
incluir el intercambio adecuado de ecuaciones cuando las circunstancias así lo exijan. Un algoritmo
que cumple este requisito es el denominado eliminación gaussiana con pivoteo de filas escaladas
(pivoteo total).
- Pivoteo total (escalado de columna). Consiste en permutar la ecuación pivotal por la primera
que encontremos que tenga elemento pivot distinto de cero y más grande en valor absoluto
escalado.
aij
arj máx , donde si máx aik
j i n si ik n
Página 10
Cristian Amador Loli Prudencio
SUSTITUCIÓN RECURSIVA
PROGRAMAS
Crear el programa trilower.m que resuelve un sistema triangular inferior Ax=b utilizando el
algoritmo siguiente:
Entrada: matriz triangular A=(aij) y vector b
Salida: vector x
Paso 1 Verificar que el sistema es triangular inferior
Paso 2 Obtener el orden del sistema n
Paso 3 Para k = 1 .. n (orden del sistema) repetir pasos 4-5
Paso 4 Verificar que el elemento diagonal no es nulo
k1
bk akjxj
Paso 5 Hacer j1
xk
akk
Se comprobará el correcto funcionamiento de Ax=b. Resolver un sistema triangular aleatorio
de orden 3, reflejando los resultados obtenidos.
Solución:
function x= trilower(A,b);
% Función que resuelve un sistema triangular inferior
if any(any(A-tril(A))
error('La matriz no es triangular inferior');
end
[n,m]=size(A);
if n~=m,error('La matriz no es cuadrada');end
[n,p]=size(b);
if n~=m | p~=1,error('No coinciden dimensiones');end
x=zeros(n,1);
for i=1:n %sustitución hacia adelante
if A(i,i)==0,error('Matriz Singular'),end
x(i)=(b(i)-A(i,1:i-1)*x(1:i-1))/A(i,i);
end
>> rand('state',sum(100*clock));
>> A=tril(rand(3));b=rand(3,1);
>> x=trilower(A,b)
>> % comprobacion
>> xv=A\b
Página 11
Cristian Amador Loli Prudencio
function x= triupper(A,b);
% Función que resuelve un sistema triangular superior
if any(any(A-triu(A)));error('La matriz no es triangular superior');end
[n,m]=size(A); if n~=m;error('La matriz no es cuadrada');end
[n,p]=size(b); if n~=m | p~=1;error('No coinciden dimensiones');end
x=zeros(n,1);
for i=n:-1:1 %sustitución hacia atrás
if A(i,i)==0;error('Matriz Singular'),end
x(i)=(b(i)-A(i,i+1:n)*x(i+1:n))/A(i,i);
end
Por otra parte, la matriz triangular superior (U) formada por los coeficientes resultantes
tras aplicar el algoritmo de Gauss (ecuación 61), es:
Página 12
Cristian Amador Loli Prudencio
Método de Gauss-Jordan
transformación hasta obtener una matriz diagonal unitaria (aij=0 para cualquier ).
Página 13
Cristian Amador Loli Prudencio
Ahora tomamos como pivote el elemento a33=2, multiplicamos la tercera ecuación por
y la restamos a la primera:
El sistema de ecuaciones anterior es, como hemos visto, fácil de resolver. Empleando la
ecuación (46) obtenemos las soluciones:
Página 14
Cristian Amador Loli Prudencio
REFERENCIAS BIBLIOGRÁFICAS
[1] Cárdenas – Gómez Análisis Numérico REVERTÉ 2014
[3] Chapra S. – Canale R. Métodos Numéricos para Ingenieros Mc Graw Hill 2010
[4] Kincaid – Cheney Análisis Numérico. Las Matemáticas Addison Wesley 1994
[6] Mathews – Fink Métodos Numéricos con Matlab. Prentice Hall 2003
Métodos Numéricos.
ejemplos prácticos
Página 15