Vous êtes sur la page 1sur 7

Apéndice

4 ELIMINACIÓN GAUSSIANA
CON PIVOTEO

No es difícil programar una computadora para que resuelva un sistema de ecuaciones lineales
haciendo uso del método de eliminación gaussiana o de Gauss-Jordan estudiado en este libro.
Existe, sin embargo, una variación al método que fue diseñada para reducir el error de redon-
deo acumulado al resolver un sistema de n 3 n ecuaciones. Dicho método, o alguna variación,
se utiliza en diversos sistemas de software. Una vez que le resulte comprensible esta modifica-
ción sencilla de la eliminación gaussiana, entenderá por qué, por ejemplo, la descomposición
LU o las formas escalonadas encontradas en una calculadora o en MATLAB a veces son dife-
rentes que las calculadas a mano.
En el capítulo 1 se encontró que cualquier matriz se puede reducir a la forma escalonada
por renglones mediante eliminación gaussiana. Sin embargo, existe un problema computacio-
nal con este método. Si se divide entre un número pequeño que se ha redondeado, el resultado
puede contener un error de redondeo significativo. Por ejemplo, 1/0.00074 ≈ 1 351 mientras que
1/0.0007 ≈ 1 429. Para evitar este problema, se usa un método denominado eliminación gaussia-
na con pivoteo parcial. Se trata de dividir siempre entre el elemento más grande (en valor abso-
luto) de la columna, evitando así cuanto sea posible, el tipo de error que se acaba de ilustrar. Se
describe el método con un ejemplo sencillo.

EJEMPLO 1 Solución de un sistema por eliminación gaussiana con pivoteo parcial

Resuelva el siguiente sistema por eliminación gaussiana con pivoteo parcial:

x1 2 x2 1 x3 5 1
2 3 x1 1 2 x2 2 3 x3 526
2 x1 2 5 x2 1 4 x3 5 5

Solución Paso 1. Escriba el sistema en la forma de matriz aumentada. De la primer columna con compo-
nentes diferentes de cero (denominada columna pivote), seleccione la componente con el valor
absoluto. Esta componente se denomina pivote:
650 APÉNDICE 4 Eliminación gaussiana con pivoteo

⎛ � 2� � � �⎞
������ ⎜ 2� � 2� � 2� ⎟
⎜ ⎟
⎜⎝ � 2� � � �⎟⎠

Paso 2. Reacomode los renglones para mover el pivote hasta arriba:

⎛ 2� � 2� � 2� ⎞
⎜ � 2� (se intercambian el primero
� � �⎟ y el segundo renglones)
⎜ ⎟
⎜⎝ � 2� � � �⎟⎠

Paso 3. Divida el primer renglón entre el pivote:

⎛ � 2 �� � � � ⎞
⎜ ⎟ (se divide el primer renglón
⎜ � 2� � � � ⎟ entre 23)
⎜⎝ � 2� � � � ⎟⎠

Paso 4. Sume múltiplos del primer renglón a los otros renglones para hacer cero todas las com-
ponentes de la columna pivote:

⎛ � 2 �� � � �⎞ (el primer renglón se multiplica


⎜� ⎟ por 21 y 22 y se suma al
⎜ 2 � � � 2�⎟

segundo y al tercero)
⎜⎝ � 2 �� � � �⎠⎟

Paso 5. Tape el primer renglón y realice los pasos 1 al 4 en la submatriz que resulta:

⎛ � 2 �� � � �⎞
⎜� ⎟
⎜ 2 � � � 2�⎟

⎜⎝ � 2 �� � � �⎟⎠

������������

⎛ � 2 �� � � �⎞ (se intercambian el primero


⎜ � 2 �� � � �⎟⎟ y el segundo renglones de
⎜ �
la submatriz)
⎜⎝ � 2 � � � 2�⎟⎠

⎛ � 2 �� � � �⎞
⎜� � 2 �� � 2 ��� ⎟⎟
� (se divide el primer renglón
⎜ actual entre el pivote)
⎜⎝ � 2 � � � 2�⎟⎠

⎛ � 2 �� � � �⎞
(se multiplica el primer renglón
⎜ ⎟
⎜� � 2 �� � 2 ��� ⎟

actual por �� y se suma al
⎜⎝ � � 2 ��� � 2 �� ⎟ segundo renglón actual)
�� ⎠
Eliminación gaussiana con pivoteo 651

Paso 6. Continúe de esta manera hasta que la matriz esté en la forma escalonada por renglo-
nes.
⎛ � 2 �� � � �⎞
⎜� � 2 �� � 2 ��� ⎟⎟


⎜⎝ � � 2 ��� � 2 �� ⎟
�� ⎠
������������

⎛ � 2 �� � � �⎞
⎜ ⎟ (se divide el primer renglón
⎜� � 2 �� � 2 ��� ⎟

actual entre el pivote)
⎜⎝ � � � � � ⎟⎠

Paso 7. Utilice la sustitución regresiva para encontrar (si la hay) la solución al sistema. Es evi-
dente que se tiene x3 5 6. Entonces x� 2 ��� x� 52 ��� o

x� 52 ��� 1 ��� x� 52 ��� 1 ��� �� � 5 �

Por último, x� 2 �� x� 1 x�5 � o lo que es lo mismo

x� 5 � 1 �� x� 2 x� 5 � 1 �� � �� 2 � 52�

La solución única está dada por el vector (22, 3, 6).

Observación. El pivoteo completo implica encontrar la componente en A que tiene mayor valor
absoluto, no sólo la componente en la primera columna que no sea cero. El problema con este
método es que casi siempre incluye el volver a etiquetar las variables cuando se intercambian
las columnas para colocar el pivote en la primera. En la mayor parte de los problemas el pi-
voteo completo no es mucho más exacto que el pivoteo parcial, al menos no lo suficiente para
justificar el trabajo adicional que implica. Por esta razón el método de pivoteo parcial descrito
se utiliza con más frecuencia.
Ahora se examinará el método de pivoteo parcial aplicado a un sistema más complicado
en el sentido computacional. Los cálculos se hicieron en una calculadora manual y se redon-
dearon a seis dígitos significativos.

EJEMPLO 2 Solución de un sistema por eliminación gaussiana con pivoteo parcial

Resuelva el sistema

2x1 2 3.5x2 1 x3 5 22.35


25x1 1 3x2 1 3.3x3 5 29.08
12x1 1 7.8x2 1 4.6x3 5 21.38

Solución Utilizando los pasos descritos se obtiene sucesivamente,

⎛ � 2��� � � �����⎞ ⎛ �� ��� ��� � �����⎞


⎜ 2� � ⎟ R�
��� � 2���� ⎯⎯⎯⎯
R� ⎜
→ 2� � ��� � 2����⎟
⎜ ⎟ ⎜ ⎟
⎜⎝ �� ��� ��� � �����⎟⎠ ⎜⎝ � 2��� � � �����⎟⎠
������
652 APÉNDICE 4 Eliminación gaussiana con pivoteo

⎛ 1 0.65 0.383333 | 1.778167⎞


⎯⎯⎯⎯

R1 → 1
R
12 1 ⎜ 25 3 3.3 | 29.08 ⎟
⎜ ⎟
⎜⎝ 2 23.5 1 | 22.35 ⎟⎠

R2 → R2 15 R1
⎛1 0.65 0.383333 | 1.78167⎞
R3 → R3 2 2 R1
⎯⎯⎯⎯⎯
→ ⎜0 6.25 5.21667 | 20.17165 ⎟
⎜ ⎟
⎜⎝ 0 24.8 0.233334 | 18.7867 ⎟⎠
nuevo pivote

1
⎛1 0.65 0.383333 | 1.78167 ⎞
⎯⎯⎯⎯⎯

R2 → R
6.25 2 ⎜0 1 0.834667 | 20.027464 ⎟
⎜ ⎟
⎜⎝ 0 24.8 0.233334 | 18.7867 ⎟⎠

⎛ 1 0.65 0.383333 | 1.78167 ⎞


⎜ 0.834667 | 20.027464 ⎟
R3 → R3 1 4.8 R2
⎯⎯⎯⎯⎯→ 0 1
⎜ ⎟
⎜⎝ 0 0 4.23974 | 18.6549 ⎟⎠
nuevo pivote
⎛ 1 0.65 0.383333 | 1.78167 ⎞
⎯⎯⎯⎯⎯

R3 → 1
R
4.23974 3 ⎜0 1 0.834667 | 20.027464 ⎟
⎜ ⎟
⎜⎝ 0 0 1 | 4.4001 ⎟⎠

La matriz se encuentra ahora en la forma escalonada por renglones. Usando la sustitución


regresiva se obtiene
x3 ≈ 4.40001
x2 ≈ 20.027464 20.834667 x3 520.027464 2(0.834667)( 4.40001) 52 3.70001
x1 ≈ 1.781672(0.65)( x2 ) 2(0.383333) x3 5 1.781672(0.65)(23.70001)
2(0.383333)( 4.40001) 5 2.50001

La solución exacta es x1 5 2.5, x2 5 23.7 y x3 5 4.4. Nuestras respuestas sin duda son bastante
exactas.
Observación. El ejemplo 2 ilustra lo laborioso que resulta utilizar este método sin calculadora,
en especial si se requieren varios dígitos significativos.
El siguiente ejemplo muestra la manera en la cual el pivoteo puede reducir significa-
tivamente los errores. En este caso se redondea sólo a tres decimales, con lo cual se introducen
errores más grandes.

E JEMPLO 3 El pivoteo parcial puede dar mejores resultados

Considere el sistema

0.0002 x1 2 0.00031x2 1 0.0017 x3 5 0.00609


5 x1 2 7 x2 1 6 x3 5 7
8 x1 1 6 x2 1 3 x3 5 2

La solución exacta es x1 5 22, x2 5 1, x3 5 4. Primero se procede a resolver el sistema por


eliminación gaussiana sin pivoteo, redondeando a tres cifras significativas.
Eliminación gaussiana con pivoteo 653

⎛ 0.0002 20.00031 0.0017 | 0.00609⎞ ⎛ 1 21.55 8.5 | 30.5⎞


⎜5 27 6 | 7 ⎟ ⎯R⎯⎯⎯⎯
1 → 0.0002 R1
1
→ ⎜ 5 27 6 | 7 ⎟
⎜ ⎟ ⎜ ⎟
⎜⎝ 8 6 3 | 2 ⎟⎠ ⎜⎝ 8 6 3 | 2 ⎟⎠

R2 → R2 25 R1
⎛ 1 21.55 8.5 | 30.5⎞ ⎛ 1 21.55 8.5 | 30.5⎞
→ ⎜0 0.75 236.5 | 2146 ⎟ ⎯⎯⎯⎯ ⎜0 248.7 | 2195 ⎟
R3 → R3 28 R1 R2 → 0.175 R2
⎯⎯⎯⎯⎯ → 1
⎜ ⎟ ⎜ ⎟
⎜⎝ 0 18.4 265 | 2242 ⎠⎟ ⎜⎝ 8 18.4 265 | 2242 ⎟⎠

⎛ 1 21.55 8.5 | 30.5⎞ ⎛ 1 21.55 8.5 | 30.5 ⎞


⎜ 248.7 | 2195 ⎟ ⎯⎯⎯⎯
R3 → R3 2 18.4 R1
⎯⎯⎯⎯⎯→ 0 1
R3 → 831
1
R3
→ ⎜0 1 248.7 | 2195 ⎟
⎜ ⎟ ⎜ ⎟
⎜⎝ 0 0 831 | 3 350 ⎠⎟ ⎜⎝ 0 0 1 | 4.03⎟⎠

Esto lleva a
x3 ≈ 4.03
x2 ≈ 21951( 48.7)( 4.03) 5 1.26
x1 ≈ 30.51(1.55)(1.26 ) 28.5( 4.03) 521.8

En este caso los errores son significativos. Los errores relativos, dados como porcentajes, son

20.2
x1 : ε r 5 5 10%
2

0.26
x2 : ε r 5 5 26%
1

0.03
x3 : ε r 5 5 0.775%
4
Repetiremos este procedimiento con pivoteo. Se obtiene (los círculos indican los pivotes)

⎛ 0.0002 20.00031 0.0017 | 0.00609⎞


⎜5 27 6 | 7 ⎟
⎜ ⎟
⎜⎝ 8 6 3 | 2 ⎟⎠

⎛8 6 3 | 2 ⎞

R1 � R3
⎯⎯⎯→ 5 27 6 | 7 ⎟
⎜ ⎟
⎜⎝ 0.0002 20.00031 0.0017 | 0.00609⎟⎠

⎛8 0.75 0.375 | 0.25 ⎞



R1 → 81 R1
⎯⎯⎯⎯
→ 5 27 6 | 7 ⎟
⎜ ⎟
⎜⎝ 0.0002 20.00031 0.0017 | 0.00609⎟⎠

⎛1 0.75
R2 → R2 2 5 R1
0.375 | 0.25 ⎞
⎯⎯⎯⎯⎯ ⎯ ⎜
R3 → R3 2 0.0002 R1
→ 0 210.8 4.13 | 5.75 ⎟
⎜ ⎟
⎜⎝ 0 20.00046 0.00163 | 0.00604 ⎟⎠
654 APÉNDICE 4 Eliminación gaussiana con pivoteo

⎛ 1 0.75 0.375 | 0.25 ⎞



R2 → 101.8 R2
⎯⎯⎯⎯→ 0 1 20.382 | 20.532 ⎟
⎜ ⎟
⎜⎝ 0 20.00046 0.00163 | 0.00604 ⎟⎠

⎛ 1 0.75 0.375 | 0.25 ⎞


→⎜0 1 20.382 | 20.532 ⎟
R3 → R3 10.00046 R2
⎯⎯⎯⎯⎯⎯
⎜ ⎟
⎜⎝ 0 0 0.00145 | 0.0058⎟⎠

⎛ 1 0.75 0.3375 | 0.25 ⎞


⎯⎯⎯⎯⎯ ⎜
R3 →
→ 0 1 20.382 | 20.532 ⎟
1
R
0.00145 3

⎜ ⎟
⎜⎝ 0 0 1 | 4.00 ⎟⎠

Por lo tanto,
x3 5 4.00

x2 520.532 1(0.382 )( 4.00) 5 0.996

x1 5 0.2520.75(0.996 ) 2(0.375)( 4.00) 522.00

Así, con el pivoteo y un redondeo a tres dígitos significativos, x1 y x3 se obtienen de manera


exacta y x2 se obtiene con un error relativo de 0.004/1 5 0.4%.

Antes de dar por terminada esta sección, podemos observar que existen algunas matrices
para las cuales un pequeño cambio en los elementos puede llevar a un cambio grande en la
solución. Tales matrices se denominan mal condicionadas.

E JEMPLO 4 Un sistema mal condicionado

Considere el sistema

x1 1 x2 5 1
x1 1 1.005 x2 5 0

Se ve fácilmente que la solución exacta es x1 5 201, x2 5 2200. Si los coeficientes se redondean


a tres dígitos significativos, se obtiene el sistema

x1 1 x2 5 1
x1 1 1.01x2 5 0

con solución exacta x1 5 101, x2 5 2100. Al cambiar uno de los elementos de la matriz de
coeficientes por 0.005/1.005 ≈ 0.5%, ¡la matriz sufre un cambio de alrededor del 50% en la so-
lución final!
Existen técnicas para reconocer y manejar las matrices mal condicionadas. Una de ellas, la
función cond(A) de MATLAB (doc cond), da una medida de la sensibilidad de la solución de
un sistema de ecuaciones lineales a los cambios en los datos.
Eliminación gaussiana con pivoteo 655

Problemas A4
De los problemas 1 al 4 resuelva el sistema de ecuaciones dado por eliminación gaussiana con
pivoteo parcial. Utilice una calculadora manual y redondee a seis dígitos significativos en cada
paso.
1. 2x1 2 x2 1 x3 5 0.3 2. 4.7x1 1 1.81x2 1 2.6x3 5 25.047
24x1 1 3x2 2 2x3 5 21.4 23.4x1 2 0.25x2 1 1.1x3 5 11.495
3x1 2 8x2 1 3x3 5 0.1 12.3x1 1 0.06x2 10.77x35 7.9684

3. 27.4x1 1 3.61x2 1 8.04x3 5 25.1499


12.16x1 2 2.7x2 2 0.891x3 5 3.2157
24.12x1 1 6.63x2 2 4.38x3 5 236.1383

4. 4.1x1 2 0.7x2 1 8.3x3 1 3.9x4 5 24.22


2.6x1 1 8.1x2 1 0.64x3 2 0.8x4 5 37.452
25.3x1 2 0.2x2 1 7.4x3 2 0.55x4 5 25.73
0.8x1 2 1.3x2 1 3.6x3 1 1.6x4 5 27.7

De los problemas 5 y 6 resuelva el sistema por eliminación gaussiana con y sin pivoteo, redon-
deando a tres cifras significativas. Después encuentre la solución exacta y calcule los errores
relativos de los seis valores calculados.
5. 0.1x1 1 0.05x2 1 0.2x3 5 1.3 6. 0.02x1 1 0.03x2 2 0.04x3 5 20.04
12x1 1 25x2 2 3x3 5 10 16x1 1 2x2 1 4x3 5 0
27x1 1 8x2 1 15x3 5 2 50x1 1 10x2 1 8x3 5 6

7. Demuestre que el sistema


x1 1 x2 5 50
x1 1 1.026 x2 5 20

está mal condicionado si se redondea a tres cifras significativas. ¿Cuál es el error relativo
aproximado en cada respuesta inducido por el redondeo?
8. Haga lo mismo para el sistema

20.0001x1 1 x2 5
2 2x1 1 x2 5

Vous aimerez peut-être aussi