Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
\
|
=
n nn n n
n
n
b a ... a a
. . . .
. . . .
. . . .
b a ... a a
b a ... a a
A,b
2 1
2 2 22 21
1 1 12 11
Cristian Amador Loli Prudencio
Pgina 6
Nuevamente perctese de que
(2)
22
0 a = . Aparece el sistema A
(3)
x = b
(3)
con la siguiente forma:
( ) ( )
(1) (1) (1) (1) (1)
11 12 13 1 1
(2) (2) (2) (2)
22 23 2 2
3 3
(3) (3) (3)
33 3 3
(3) (3) (3)
3
...
0 ...
0 0 ...
0 0 ...
n
n
n
n nn n
a a a a b
a a a b
A ,b = a a b
a a b
| |
|
|
| (
|
|
|
\ .
(14)
Siguiendo este protocolo, llegamos por fin al sistema triangular superior A
(n)
x = b
(n)
,
( ) ( )
(1) (1) (1) (1) (1)
11 12 13 1 1
(2) (2) (2) (2)
22 23 2 2
(3) (3) (3)
33 3 3
( ) ( )
...
0 ...
0 0 ...
0 0 0 ...
n
n
n n
n
n n
nn n
a a a a b
a a a b
A ,b = a a b
a b
| |
|
|
| (
|
|
|
\ .
(15)
dispuesto para ser resuelto por Sustitucin Regresiva (hacia atrs).
De forma esquemtica, a travs de n 1 etapas se ha construido la sucesin de n sistemas
equivalentes
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 2 2 1 1
...
n n n n
A x b A x b A x b A x b
= = = = ,
donde el primero es el sistema de partida, el ltimo es el sistema triangular superior resultante, y
donde, para 1, 2,..., 1 q n = , el paso del sistema
( ) ( ) q q
A x b = al siguiente
( ) ( ) 1 1 q q
A x b
+ +
= se realiza
manteniendo intactas las q primeras ecuaciones y modificando las restantes de acuerdo con las
expresiones
( ) ( ) ( 1) q q q
i iq q i
F m F F
+
+ , con
( )
( )
, 1,...,
q
iq
iq
q
qq
a
m i q n
a
= = +
(16)
Para 1, 2,..., 1 q n = , la ecuacin q-sima del sistema
( ) ( ) q q
A x b = se llama ecuacin pivotal,
( ) q
qq
a es
el elemento pivote, y a los escalares
iq
m se les llama multiplicadores.
Y si apareciese un pivote nulo?
Comenzamos preguntndonos lo que haramos si en el proceso general de eliminacin gaussiana
descrito antes apareciese un pivote nulo. La respuesta evidente es que permutaramos la ecuacin
pivotal por alguna situada ms abajo, quiz por la primera que encontremos que salve el
contratiempo y permita continuar la eliminacin de incgnitas. Ntese que siempre daremos con una
tal ecuacin, puesto que en caso contrario la matriz de coeficientes habra de ser singular (por
qu?), y no es eso lo que supusimos al comienzo. Obviamente el intercambio de ecuaciones es una
operacin elemental, que no modifica la solucin del sistema.
Ejemplo 1
Plantemos la resolucin del siguiente sistema de ecuaciones, con eliminacin gaussiana con
sustitucin regresiva:
Cristian Amador Loli Prudencio
Pgina 7
Primera etapa: Tras la primera etapa,
Segunda etapa: Tras la segunda etapa,
Tercera etapa: Tras la ltima etapa,
6 2 2 4 12
0 4 2 2 10
0 0 2 5 9
0 0 0 3 3
(
(
(
(
(
Con lo cual se tiene el sistema triangular superior:
El sistema triangular superior es equivalente al sistema original (las soluciones de ambos sistemas
coinciden). Sin embargo, este sistema es fcilmente resoluble aplicando el algoritmo de sustitucin
regresiva. La solucin del sistema de ecuaciones resulta ser:
43
4 / 2 2
6 2 2 4 12
0 4 2 2 10
0 0 2 5 9
0 0 4 13 21 = = m
(
(
(
(
(
(
(
(
(
= =
= =
= =
38 18 1 4 6
27 3 9 13 3
34 10 6 8 12
12 4 2 2 6
1
2
pivote
6
6
41
2
1
6
3
31
6
12
21
m
m
m
(
(
(
(
= =
= =
26 14 3 2 0
21 1 8 12 0
10 2 2 4 0
12 4 2 2 6
3
2
1
4
2
42
4
12
32
m
m
Cristian Amador Loli Prudencio
Pgina 8
ELIMINACIN GAUSSIANA CON SUSTITUCIN HACIA ADELANTE
El sistema Ax = b, expresado en su matriz aumentada [A, b]:
Igual que el mtodo anterior arranquemos de nuestra matriz aumentada [A, b], denotada [A
(1)
, b
(1)
]:
( ) ( )
(1) (1) (1) (1) (1)
11 12 13 1 1
(1) (1) (1) (1) (1)
21 22 23 2 2
1 1
(1) (1) (1) (1) (1)
31 32 33 3 3
(1) (1) (1) (1) (1)
1 2 3
...
...
...
...
n
n
n
n n n nn n
a a a a b
a a a a b
A ,b = a a a a b
a a a a b
| |
|
|
| (
|
|
|
\ .
(17)
En la primera etapa construiremos [A
(2)
, b
(2)
], que se obtiene del sistema anterior tras eliminar la
incgnita x
n
de todas las ecuaciones salvo de la ltima, lo cual se traduce en que la matriz aumentada
tenga en la ltima columna encima de
(1)
nn
a todos ceros. Para ello, utilizamos las operaciones
elementales fila siguientes, con la simbologa fcilmente entendible:
(1) (1) (2)
i in n i
F m F F + , con
(1)
(1)
, 1, 2,..., 1
in
in
nn
a
m i n
a
= =
(18)
Implcitamente se supone
(1)
0
nn
a = . Obviamente el sistema A
(2)
x = b
(2)
adopta la forma:
( ) ( )
(2) (2) (2) (2)
11 12 13 1
(2) (2) (2) (2)
21 22 23 2
2 2
(2) (2) (2) (2)
31 32 33 3
(1) (1) (1) (1) (1)
1 2 3
... 0
... 0
... 0
...
n n n nn n
a a a b
a a a b
A ,b = a a a b
a a a a b
| |
|
|
| (
|
|
|
\ .
(19)
Siguiendo este protocolo, llegamos por fin al sistema triangular inferior A
(n)
x = b
(n)
,
( ) ( )
( ) ( )
11 1
( 1) ( 1) ( 1)
21 22 2
( 2) ( 2) ( 2) ( 2)
31 32 33 3
(1) (1) (1) (1) (1)
1 2 3
0 0 ... 0
0 ... 0
... 0
...
n n
n n n
n n
n n n n
n n n nn n
a b
a a b
A ,b = a a a b
a a a a b
| |
|
|
| (
|
|
|
\ .
(20)
dispuesto para ser resuelto por Sustitucin Progresiva (hacia adelante).
| |
|
|
|
|
|
|
|
|
.
|
\
|
=
n nn n n
n
n
b a ... a a
. . . .
. . . .
. . . .
b a ... a a
b a ... a a
A,b
2 1
2 2 22 21
1 1 12 11
Cristian Amador Loli Prudencio
Pgina 9
Ejemplo 2
Plantemos la resolucin del siguiente sistema de ecuaciones, con eliminacin gaussiana con
sustitucin progresiva:
Primera etapa: Tras la primera etapa,
Segunda etapa: Tras la segunda etapa,
Tercera etapa: Tras la ltima etapa,
72 0 0 0 72
251 251
398 502 0 0 104
55 165 55
2 37 55 0 62
3 6 3
6 4 1 18 38
(
(
(
(
(
(
(
(
(
Luego, aplicando el algoritmo de sustitucin progresiva:
1
3
2
1
x
| |
|
|
=
|
|
\ .
14
24
34
2/9 6 2 2 4 12
5/9 12 8 6 10 34
3 13 9 3 27 1/ 6
6 4 1 18 38 pivote
m =
m =
m =
(
(
(
(
(
13
23
40 14 10 20 0 32
165 3 9 9 9
108 26 52 59 0 116
165 3 9 9 9
2 37 55 0 62
3 6 3
6 4 1 18 38
m =
m =
Pivote
(
(
(
(
(
(
(
(
13
310 46 62 0 0 16
502 11 33 11
398 502 0 0 104
55 165 55
2 37 55 0 62
3 6 3
6 4 1 18 38
m =
Pivote
(
(
(
(
(
(
(
(
Cristian Amador Loli Prudencio
Pgina 10
PIVOTEO EN LA ELIMINACIN GAUSSIANA
Sin embargo, los algoritmos que acabamos de describir pueden dar lugar a resultados errneos
fcilmente. Por ejemplo, analicemos el siguiente sistema de ecuaciones, en el que es un nmero
muy pequeo pero distinto de cero:
Al aplicar el algoritmo gaussiano se obtiene el siguiente sistema triangular superior:
y la solucin es:
( )
1
2 1
1
1 2
2
1
1
x
x x
e
=
= e
En el computador, si es suficientemente pequeo, los trminos
1
2
e y
1
1
e se computarn
como un mismo nmero, por lo que
2
1 x ~ y
1
0 x ~ . Sin embargo, la solucin correcta es:
2
1
1 2
1
1
1
1
1
x
x
e
= ~
= ~
e
Entonces la solucin calculada es exacta para x
2
pero extremadamente inexacta para x
1
.
El problema anterior no radica en la pequeez del trmino a
ii
, sino en su pequeez relativa respecto
de los otros elementos de su fila. La conclusin 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 eliminacin gaussiana con pivoteo de filas escaladas
(pivoteo total).
As pues, mostramos 3 pivoteos:
- Pivoteo simple. Consiste en permutar la ecuacin pivotal por la primera que encontremos que
tenga elemento pivot distinto de cero de la diagonal para abajo.
- Pivoteo parcial (mximo de columna). Consiste en permutar la ecuacin pivotal por la primera
que encontremos que tenga elemento pivot distinto de cero y ms grande en valor absoluto.
rj ij
j i n
a mx a
s s
=
- Pivoteo total (escalado de columna). Consiste en permutar la ecuacin pivotal por la primera
que encontremos que tenga elemento pivot distinto de cero y ms grande en valor absoluto
escalado.
,
ij
rj i ik
j i n i k n
i
a
a mx donde s mx a
s
s s s s
= =
Cristian Amador Loli Prudencio
Pgina 11
SUSTITUCIN RECURSIVA
Comenzaremos resolviendo un sistema triangular inferior, modificando posteriormente el programa
para resolver sistemas triangulares superiores.
PROGRAMAS
Crear el programa trilower.m que resuelve un sistema triangular inferior Ax=b utilizando el
algoritmo siguiente:
Entrada: matriz triangular A=(a
ij
) 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
Paso 5 Hacer
1
1
k
k kj j
j
k
kk
b ax
x
a
=
Se comprobar el correcto funcionamiento de Ax=b. Resolver un sistema triangular aleatorio
de orden 3, reflejando los resultados obtenidos.
Solucin:
function x= trilower(A,b);
% Funcin 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 %sustitucin 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
Y para crear, resolver el sistema y comprobar los resultados
>> rand('state',sum(100*clock));
>> A=tril(rand(3));b=rand(3,1);
>> x=trilower(A,b)
>> % comprobacion
>> xv=A\b
1. Crear el programa triupper.m que resuelve un sistema triangular superior utilizando el
algoritmo siguiente:
Entrada: matriz triangular A=(a
ij
) y vector b
Salida: vector x
Paso 1 Verificar que el sistema es triangular superior
Paso 2 Obtener el orden del sistema n
Cristian Amador Loli Prudencio
Pgina 12
Paso 3 Para k = n .. 1 (orden del sistema) repetir pasos 4-5
Paso 4 Verificar que el elemento diagonal no es nulo
Paso 5 Hacer 1
n
k kj j
j k
k
kk
b ax
x
a
=+
=
Se comprobar el correcto funcionamiento de Ax=b. Resolver un sistema triangular aleatorio
de orden 3, reflejando los resultados obtenidos.
Solucin:
function x= triupper(A,b);
% Funcin 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 %sustitucin hacia atrs
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
Si colocamos los multiplicadores utilizados al transformar el sistema en una matriz
triangular inferior unitaria (L) ocupando cada uno de ellos la posicin del cero que
contribuy a producir, obtenemos la siguiente matriz:
Por otra parte, la matriz triangular superior (U) formada por los coeficientes resultantes
tras aplicar el algoritmo de Gauss (ecuacin 61), es:
Estas dos matrices nos dan la factorizacin LU de la matriz inicial de coeficientes, A,
expresada por la ecuacin (58):
Cristian Amador Loli Prudencio
Pgina 13
Figure: Implementacin del algoritmo de eliminacin
gaussiana.
En la figura (12) se muestra un algoritmo en pseudocdigo para llevar a la prctica el
proceso bsico de eliminacin gaussiana que acabamos de describir. En este algoritmo
se supone que todos los elementos pivote son distintos de cero.
Mtodo de Gauss-Jordan
Como hemos visto, el mtodo de Gauss transforma la matriz de coeficientes en una
matriz triangular superior. El mtodo de Gauss-Jordan contina el proceso de
transformacin hasta obtener una matriz diagonal unitaria (a
ij
=0 para cualquier ).
Veamos el mtodo de Gauss-Jordan siguiendo con el ejemplo empleado en el apartado
anterior. Aplicando el mtodo de Gauss habamos llegado a la siguiente ecuacin:
Cristian Amador Loli Prudencio
Pgina 14
Ahora seguiremos un procedimiento similar al empleado en el mtodo de Gauss.
Tomaremos como pivote el elemento a
44
=-3; multiplicamos la cuarta ecuacin por y la
restamos a la primera:
Realizamos la misma operacin con la segunda y tercera fila, obteniendo:
Ahora tomamos como pivote el elemento a
33
=2, multiplicamos la tercera ecuacin por
y la restamos a la primera:
Repetimos la operacin con la segunda fila:
Finalmente, tomamos como pivote a
22
=-4, multiplicamos la segunda ecuacin por y la
sumamos a la primera:
El sistema de ecuaciones anterior es, como hemos visto, fcil de resolver. Empleando la
ecuacin (46) obtenemos las soluciones:
Cristian Amador Loli Prudencio
Pgina 15
REFERENCIAS BIBLIOGRFICAS
[1] Crdenas Gmez Anlisis Numrico REVERT 2014
[2] Burden R. Faires J. Anlisis Numrico CENGAGE Learning 2011
[3] Chapra S. Canale R. Mtodos Numricos para Ingenieros Mc Graw Hill 2010
[4] Kincaid Cheney Anlisis Numrico. Las Matemticas Addison Wesley 1994
del Clculo Cientfico. Iberoamericana
[5] Nakamura, Schoichiro Mtodos numricos aplicados Prentice Hall 1992
con software. Hispanoamericana
[6] Mathews Fink Mtodos Numricos con Matlab. Prentice Hall 2003
[7] Avendao Quiroz, Johnny Matlab: I ntroduccin a los UNMSM 2009
Mtodos Numricos.
[8] Stoer, J. Bulirsch, R. I ntroduction to Numerical Analysis. Springer 1992
[9] Terrence J., Akai Mtodos numricos aplicados Limusa 2008
a la ingeniera.
[10] Moore Holly Matlab para ingenieros Pearson Education 2007
[11] Nakamura, Shoichiro Anlisis Numrico y Visualizacin Prentice Hall 1997
grfica con MATLAB Hispanoamericana
[12] Amos Gilat Matlab: Una introduccin con Revert 2006
ejemplos prcticos