El segundo paso del m´etodo de Gauss
Autores de los ejercicios: Rom´an Higuera Garc´ıa, Egor Maximenko.
Objetivos. Programar el segundo paso de la eliminaci´on de Gauss sin pivoteo (esto es,
con pivotes diagonales).
Requisitos. Operaciones elementales, programaci´on de funciones y ciclos For.
1. Ejemplo. Est´a dada una matriz 4 × 4, con la caracter´ıstica de que las entradas de la
primer columna son iguales a cero salvo la entrada (1, 1). Usando su entrada (2, 2) como
pivote haga dos operaciones elementales que eliminen las entradas (3, 2) y (4, 2):
7
0
0
0
4 −9
2 −3
6 −5
1
2
7
6
5
2
1
2
−−−−−−−−−−−−→
R3 +=
R4 +=
R2
R2
.
7
0
0
0
4 −9
2 −3
6
5
0
0
2. Coeficientes de las operaciones elementales.
Consideremos una matriz B, de tama˜no 5 × 4 con entradas s´ımbolicas. Pidamos a B la
caracter´ıstica de que las entradas de su primer columna sean iguales a cero salvo la entrada
B1,1. Luego apliquemos las operaciones elementales indicadas:
B =
B1,1 B1,2 B1,3 B1,4
0
0
0
0
B2,2 B2,3 B2,4
B3,2 B3,3 B3,4
B4,2 B4,3 B4,4
B5,2 B5,3 B5,4
−−−−−−−−−−→
R3 −= µ3R2
R4 −= µ4R2
R5 −= µ5R2
B1,1 B1,2 B1,3 B1,4
0
0
0
0
B2,2 B2,3 B2,4
3,3 B(cid:48)
B(cid:48)
3,2 B(cid:48)
B(cid:48)
4,2 B(cid:48)
4,3 B(cid:48)
5,3 B(cid:48)
B(cid:48)
5,2 B(cid:48)
3,4
4,4
5,4
Queremos que las entradas B(cid:48)
sean iguales a cero, entonces:
.
3,2,(cid:124)(cid:123)(cid:122)(cid:125)
y(cid:124)(cid:123)(cid:122)(cid:125)
?
?
3,2 = B3,2 − µ3B2,2
0 = B(cid:48)
0 = B(cid:48)
4,2 = B4,2(cid:124)(cid:123)(cid:122)(cid:125)
−µ4B2,2
?
0 = B(cid:48)
5,2 = B5,2 − µ2A1,1
⇒
⇒
⇒
µ3 =
µ4 =
B3,2
B2,2
A2,1
B2,2
µ5 =
A2,1
B2,2
Note que los n´umeros µ3, µ4, µ5 no dependen entre ellos de ninguna forma.
Programaci´on: segundo paso de la reducci´on con pivotes diagonales, p´agina 1 de 3
3. Coeficientes de las operaciones elementales con las cuales se eliminan las
entradas por debajo de (2, 2), en general.
Sea B ∈ Mm×n(R) dada como B = [Bi,j]m,n
i,j=1. (No es escencial pedir a B que las entradas de
su primer columna salvo la entrada B1,1 sean iguales a cero, sin embargo pensaremos que
es as´ı). Utilizamos como pivote la entrada B2,2 para anular las entradas B3,2, B4,2, . . . , Bm,2.
Para ello necesitamos hacer m − 2 operaciones elementales, tales operaciones elementales
ser´an, para q = 3, 4, . . . , m:
Rq − = µRp,
donde
µ =
.
B2,2
Programaci´on del segundo paso de la eliminaci´on de Gauss
4. Algoritmo ReduceSecondStep. Vamos a denotar por i al ´ındice de la fila que
estamos modificando.
Algoritmo ReduceSecondStep
Entrada: Una matriz B.
Variables locales: C, m, n, k, i, j, mu;
m := n´umero de filas de B;
n := n´umero de columnas de B;
C := Una copia de B;
// Comentario: usamos C[[2, 2]] como pivote
// y eliminamos C[[i, 2]] para i de
a
;
Para i de
mu := C[[
Para j de
a
,
:
]]/C[[
,
]];
a
:
C[[i, j]] :=
;
Salida: C.
5. Programar el segundo paso de la eliminaci´on de Gauss (2 %). Escriba una
funci´on ReduceSecondStep de un argumento matricial que haga el segundo paso de la
eliminaci´on de Gauss.
Entrada: una matriz rectangular B de tama˜no m × n, con B2,2 (cid:54)= 0.
Salida: la matriz C que se obtiene de la matriz B al aplicar operaciones elementales
que eliminen las entradas B3,2, . . . , Bm,2.
Programaci´on: segundo paso de la reducci´on con pivotes diagonales, p´agina 2 de 3
Programaci´on de una operaci´on elemental
(recordatorio y optimizaci´on)
6. Trabajar con un corte de un rengl´on. Para recordar la sintaxis de Wolfram
Mathematica ejecute los siguientes comandos:
B = RandomReal[{-1, 1}, {5, 5}]
MatrixForm[B]
B[[2, 3 ;; 5]]
7. Pensemos en la operaci´on elemental
B1,1 B1,2 B1,3 B1,4
. . . B1,n
0
0
0
B2,2 B2,3 B2,4
. . . B2,n
B3,2 B3,3 B3,4
. . . B3,n
B4,2 B4,3 B4,4
. . . B4,n
B =
R4 −= µR2
−−−−−→
B1,1 B1,2 B1,3 B1,4
. . . B1,n
0
0
0
B2,2 B2,3 B2,4
. . . B2,n
B3,2 B3,3 B3,4
4,3 B(cid:48)
4,2 B(cid:48)
B(cid:48)
4,4
B5,2 B5,3 B5,4
. . . B3,n
. . . B(cid:48)
4,n
. . . B5,n
,
0
. . . B5,n
B5,2 B5,3 B5,4
0
donde el coeficiente µ est´a elegido de tal manera que B(cid:48)
Uno puede programar esta operaci´on elemental con un ciclo, pero Wolfram Mathematica
permite trabajar con renglones enteros o con partes de renglones.
4,2 = 0.
Observaciones:
La operaci´on R4 − = µR2 se puede hacer con el comando
B[[4, All]] -= mu * B[[2, All]].
La entrada B4,1 no se modifica y sigue siendo igual a cero.
El coeficiente µ est´a elegido de tal manera que B(cid:48)
No es necesario calcular B(cid:48)
4,2; es suficiente poner B4,2 = 0.
4,2 = 0.
Las entradas que se deben calcular est´an en el cuarto rengl´on y en las columnas de
3 a n.
Tomando en cuenta lo anterior, se puede sustituir el ciclo sobre j por dos comandos:
B[[4, 2]] = 0;
B[[4, 3 ;; n]] -= mu * B[[2, 3 ;; n]];
Programaci´on: segundo paso de la reducci´on con pivotes diagonales, p´agina 3 de 3
Comentarios de: Programación: Segundo paso del método de Gauss (0)
No hay comentarios