You are on page 1of 6

Métodos Numéricos

1

M. Audelo

Método de eliminación gaussiana con pivoting parcial

Sean A = (ai;j ) 2 Mn

n

!
[R] no nula, b T = (b1 ; :::; bn ) 2 Rn . Consideramos el sistema de ecuaciones lineales:
!
A!
x = b

(1)
i
e= Aj!
e0 = A
e
Construiremos la matriz ampliada A
b , y le asignamos A
Etapa 1:
Sea r 2 Z+ tal que 1 r n y jar1 j = max jai1 j. Si ar1 = 0 entonces ai1 = 0; i = 1; : : : ; n, con lo que la
h

i=1;:::;n

matriz A es singular. El proceso de eliminación gaussiana concluye.
e0 . Este proceso se realiza mediante
Si jar1 j > 0, intercambiando las …las i = 1 con la …la i = r de la matriz A
la operación elemental entre las marices que notamos.
e0 = (bij )
B0 = F1;r A

donde F1;r es la matriz obtenida de la matriz identidad
i1
A continuación de…nimos ki1 = bb11
, con i = 2; : : : ; n
2
1 0
6 k21 1
6
6 :
:
K1 = 6
6 :
:
6
4 :
:
kn1 0
y

r

3
: : : 0
: : : 07
7
:
:7
7
:
:7
7
: :5
: : : 1

e1 = K1 B0 = a(1)
A
ij

Etapa 2:
Sea r 2 Z+ tal que 2

al intercambiar la …la i = 1 con la …la i = r.

(1)

(1)

n y ar2 = max

i=2;:::;n

(1)

(1)

ai2 . Si ar2 = 0 entonces ai2 = 0; i = 2; : : : ; n, con lo que

la matriz A es singular. El proceso de eliminación gaussiana concluye.
(1)
e1 . Para lo cual de…nimos.
Si ar2 > 0, intercambiando las …las i = 2 con la …la i = r de la matriz A
e1 = b
B1 = F2;r A
ij

(1)

donde F2;r es la matriz obtenida de la matriz identidad al intercambiar la …la i = 2 con la …la r.
(1)

A continuación de…nimos ki2 =

y

bi2

(1)
b22

, con i = 3; : : : ; n
2
1 0 0
60 1 0
6
60 k32 1
6
:
:
K2 = 6
6:
6:
:
:
6
4:
:
:
0 kn2 0

Este proceso continua hasta la etapa j = n
Etapa n-1:
Sea r 2 Z+ tal que n

1

r

: :
: :
: :

e2 = K2 B1 = a(2)
A
ij

(n 2)
1

n y ar;n

3
0
07
7
07
7
:7
7
:
:7
7
: :5
: : : 1

:
:
:
:

1.

= max

i=2;:::;n

proceso de eliminación gaussiana concluye.

1

(n 2)
1

ai;n

(n 2)
1

. Si ar;n

= 0 la matriz A es singular. El

: : : . : : : .n 1 Bn 2 3 0 :7 7 :7 7 :7 7 05 1 0 : : : 1 1 (n 1) = aij e 1 Fn 1. n 1 y cada Fi. i = 1. n 1. n 1: cada etapa. Para la elaboración del algoritmo de eliminación gaussiana con pivoting parcial debemos tener en cuenta. r 2 fi. la matriz R = An 1 es invertible y en consecuencia A es invertible. A se factora en la forma LR.n 1 > 0.r . Entonces h i h !i en 1 = E A e=E Aj! A b = EA j E b y Donde An Luego 1 en A 1 h = An 1 ! j bn 1 i es una matriz triangular superior que se la nota con R.r .n Ponemos E = Kn 1 Bn 2 = Kn 1 Fn 1.n 1 (n 2) bn 1.n 1 1 1 con la …la i = r.r A Cada matriz Ki .n 6= 0. el proceso de intercambio de la …la i con la …la r de la matriz A ! Ejemplo 1 Hallar la solución del sistema A! x = b si 2 1 5 1 62 2 0 A=6 4 2 1 1 3 6 2 2 tenemos 3 2 0 6 07 7. donde L = E 1 .n A K1 F1. An ! bn 1 1 = EA ! =Eb Asi. i = 1.Métodos Numéricos M. y ! ! A! x = b () An 1 ! x = bn 1 ! ! 1 x = b n 1 es triangular superior. A=E 1 R 1 Note que E no es una matriz triangular inferior. en 2 = Kn 1 Fn 1. (n 1) Si an. : : : . cuyo método de resolución ha sido El sistema de ecuaciones lineales An descrito anteriormente.! b =6 4 45 7 3 3 27 7 15 7 .n An 2 = Kn 1 Fn 1.n 1 = Kn y en A Resulta en A 1 = Kn 1 Bn 2 = Fn 2 (n 2) bn. en en 1 para j = 1. e 1.n e K1 F1. Audelo (n 2) Si ar. Adicionalmente. Bn kn. ng son invertibles. intercambiando las …las i = n De…nimos.n An 2 2 1 : 6: : 6 6: =6 6: 6 40 : 0 : 1 = Kn = Kn (n 2) = bij : : : : : : : : kn. : : : .

r = 3 1 0 0 6 2 1 0 3 K1 = 6 4 2 0 1 3 1 0 0 3 3 2 3 2 7 7 60 0 0 27 7=6 1 4 15 40 1 0 3 0 3 0 07 7 05 1 6 2 5 3 2 7 4 3 1 3 5 3 14 3 26 3 7 3 7 3 8 7 3 7 11 5 3 16 3 i=2.4 32 3 0 0 60 0 07 76 1 05 40 0 1 0 6 5 2 3 2 1 60 K2 = 6 40 0 2 7 1 3 4 3 5 3 26 3 14 3 7 3 3 0 07 7 2 05 5 3 1 5 2 7 3 11 7 60 3 7=6 8 5 40 3 16 0 3 0 1 . se tiene Intercambiamos la …la 2 con la 3 de A 2 3 6 60 5 B2 = 6 40 2 0 3 2 7 1 3 4 3 5 3 26 3 14 3 7 3 Se de…ne la matriz 2 1 0 60 1 e2 = K2 B2 = 6 A 2 40 5 3 0 5 Etapa 3: Selección del pivoting (2) (2) 28 15 = a43 = max ai3 i=3. r = 4 5 2 1 6 1 0 0 0 1 4 2 7 3 3 27 7 15 7 6 2 1 5 2 7 0 0 1 4 1 0 3 7 27 7 15 3 i=1.r=4 e2 . Audelo e esta dada por La matriz ampliada A 2 1 62 e 6 A=4 2 3 Etapa 1: Selección del pivoting 3 = ja41 j = max jai1 j. se tiene Intercambiamos la …la 3 con la 4 de A 3 0 0 1 0 3 7 3 11 7 3 7 8 5 3 16 3 6 5 0 0 2 7 1 3 6 5 28 15 26 3 6 5 113 15 7 3 11 7 3 7 6 5 5 113 15 .Métodos Numéricos M. 2 3 62 B1 = 6 4 2 1 Se de…ne la matriz 2 2 6 e1 = K1 B1 = 6 A 4 1 2 3 2 3 1 3 32 0 0 0 3 62 1 0 07 76 0 1 05 4 2 1 0 0 1 6 2 1 5 Etapa 2: Selección del pivoting (1) (1) 5 = a32 = max ai2 .4 e1 .3.4 e se tiene Intercambiamos la …la 1 con la 4 de A.:::.

b2 . elimina las variables almacenada clc. Fin 1. Resolver el sistema triangular superior R! x = bn 1 ! T Escribir x = (x1 . :::. bn ) 2 Rn SALIDA: ! x T = (x1 . Para i = 1. x2 . continuar en 4 ! 3. % borra la pantalla disp(’METODO PARA RESOLVER SISTEMAS DE ECUACIONES LINEALES’). 0. b T = (b1 . :::. Escribir mensaje: "Pivote nulo". Audelo 2 3 60 6 B3 = 4 0 0 6 5 0 0 2 1 60 K3 = 6 40 0 2 7 1 3 28 15 6 5 26 3 113 15 6 5 7 3 11 7 3 7 113 5 15 6 5 3 0 07 7 05 9 1 14 2 32 3 2 3 2 7 7 3 6 2 7 7 1 0 0 0 3 6 1 1 26 11 7 26 11 7 6 6 6 0 07 3 3 3 7 = 60 5 3 3 3 7 e3 = K3 B3 = 60 1 7 60 5 A 28 113 113 28 113 113 5 40 0 5 40 0 1 05 40 0 15 15 15 15 15 15 9 6 51 6 6 51 0 0 1 0 0 0 0 0 14 5 5 5 14 14 e3 se establece el sistema de ecuaciones lineales triangulares superior siguiente: De la matriz ampliada A 8 3x1 + 6x2 + 2x3 + 7x4 = 7 > > < 5x2 + 31 x3 + 26 = 11 3 x4 3 28 113 x3 x4 = 113 > 15 15 15 > : 51 = 51 14 x4 14 cuya solución es ! x T = (2.n+1 = bi 2. 4 . continuar en 5 4. n Si jaij j > jarj j r=i Para p = j. xn ). xn ) 2 Rn . Continuar en 4 5. :::. :::. :::. : : : . n + 1 aiq = kij ajq + aiq Caso contrario. n ai. :::. n 1 r=j Para i = j + 1. :::. % borra la memoria. x2 . A = (aij ) 2 Mn n [R] . Mensaje de error: "Matriz singular" 1. : : : . n + 1 t = ajp ajp = arp arp = t Si ajj 6= 0 Para i = j + 1. Para j = 1. 1. n aij kij = ajj Para q = j + 1.Métodos Numéricos Se de…ne la matriz M. 1) 0 1 0 0 0 0 1 Algoritmo ! ENTRADA: n 2 Z+ .1 Programa en Matlab clear. disp(’ ELIMINACIÓN GAUSSIANA CON PIVOTING PARCIAL’).

for i=n-1:-1:1 suma=0.j))>abs(a(r. end end % Intercambia la fila j con la fila r for i=j:n+1 t=a(j.i)=t.i)=a(r.j)/a(j. break end end if aux==0 %Sustitución hacia atras x(n)=a(n. end end else aux=1. end aux=0. fprintf(’nn’).j))>0 % Hace ceros for i=j+1:n k(i.n+1)=b(i). for i=j+1:n if abs(a(i.j)=-a(i.%d) = ’. a(i. %Transforma la matriz A en una matriz triangular superior for j=1:n-1 % Implementa pivoteo parcial r=j.i). Audelo % Ingresa la dimensión de la matriz n=input(’Digite el orden de la Matriz: ’).p). end % Matriz aumentada for i=1:n a(i.i.p)+a(i.Métodos Numéricos M. b(i)=input(’n’). a(j. end if abs(a(j. for p=j:n+1 a(i.p)=k(i. end end % Ingresa los coeficientes independientes for i=1:n fprintf(’b(%d) = ’.j).i).j)) r=i.i). for j=i+1:n 5 . a(r.n).n+1)/a(n.j)=input(’n’). % Ingresa los coeficientes de la Matriz A for i=1:n for j=1:n fprintf(’a(%d.j).j)*a(j.

j)*x(j).Métodos Numéricos M.n+1)-suma)/a(i. Audelo suma=suma+a(i. x else disp(’La solución no fue hallada.i). pivote nulo’). end fprintf(’La Solución es:’). end 6 . end x(i)=(a(i.