Programaci´on:
Primer paso de la reducci´on de una matriz
con pivotes diagonales
Autores: Rom´an Higuera Garc´ıa, Egor Maximenko.
Objetivos. Programar el primer paso de la eliminaci´on de Gauss sin pivoteo (esto es, con
pivotes diagonales).
Requisitos. Operaciones elementales, programaci´on de funciones y ciclos For.
Operaciones elementales
Sea A ∈ Mm×n(R), sean p, q ∈ {1, . . . , m} con p (cid:54)= q, µ ∈ R.
La notaci´on Rq + = µRp significa:
“A la q-´esima fila de la matriz A, sumar
”.
1. Operaci´on elemental Rq + = µRp para una matriz de tama˜no 4 × 5.
Aplicar las operaciones elementales indicadas a la siguiente matriz:
2
6
8
5
2
4
− 4 −1
1 −3
6
7 −1
1
7
7
4
4
5
3
−−−−−−−−−−→
R2 += −2R1
R3 += −3R1
R4 += 2R1
5
1 −3
6
13
2
2
.
2. Operaci´on elemental Rq + = µRp para una matriz con entradas simb´olicas.
Consideremos una matriz A ∈ M4×3(R) con entradas simb´olicas, apliquemos a ella la
operaci´on R4 + = µR1:
A1,1 A1,2 A1,3
A2,1 A2,2 A2,3
A3,1 A3,2 A3,3
A4,1 A4,2 A4,3
−−−−−−−−−→
R4 += µR1
.
A1,1 A1,2 A1,3
A2,1 A2,2 A2,3
A3,1 A3,2 A3,3
A(cid:48)
4,1 A(cid:48)
4,2 A(cid:48)
4,3
Escriba las f´ormulas para obtener las nuevas entradas de la cuarta fila:
4,1 = (cid:124)
A(cid:48)
(cid:123)(cid:122)
(cid:125)
,
4,2 = (cid:124)
A(cid:48)
(cid:123)(cid:122)
(cid:125)
,
4,3 = (cid:124)
A(cid:48)
?
?
(cid:123)(cid:122)
?
(cid:125)
.
Programaci´on: primer paso de la reducci´on con pivotes diagonales, p´agina 1 de 4
3. Operaci´on elemental Rq + = µRp para matrices de tama˜no m × n.
Consideremos una matriz A ∈ Mm×n(R) dada como A = [Ai,j]m,n
i,j=1, aplicamos a ella la
operaci´on elemental Rq + = µRp. Entonces las nuevas entradas de la q-´esima fila de la
matriz obtenida se calculan por la siguientes f´ormulas:
A(cid:48)
q,1 =
A(cid:48)
q,2 =
...
A(cid:48)
q,n =
4. Ejemplo. Est´a dada una matriz 4× 4. Usando su entrada (1, 1) como pivote haga tres
operaciones elementales que eliminen las entradas (2, 1), (3, 1) y (4, 1):
3 −2
12
2
9
2
8
4
5
8
6
5
4
13
10
9
−−−−−−−−−−−−→
R2 +=
R3 +=
R4 +=
R1
R1
R1
3 −2
5
4
0
5. N´umeros necesarios para eliminar entradas.
Consideremos ahora una matriz con entradas s´ımb´olicas de tama˜no 4 × 4. Apliquemos a
ella las operaciones elementales de la siguiente forma:
A1,1 A1,2 A1,3 A1,4
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
A4,1 A4,2 A4,3 A4,4
A1,1 A1,2 A1,3 A1,4
2,3 A(cid:48)
A(cid:48)
2,1 A(cid:48)
A(cid:48)
3,1 A(cid:48)
3,3 A(cid:48)
4,3 A(cid:48)
A(cid:48)
4,1 A(cid:48)
2,2 A(cid:48)
3,2 A(cid:48)
4,2 A(cid:48)
2,4
4,4
3,4
Queremos que las entradas A(cid:48)
2,1, hola(cid:48)
sean iguales a cero, entonces:
R2 += µ2R1
R3 += µ3R1
R4 += µ4R1
−−−−−−−−−−→
(cid:124)(cid:123)(cid:122)(cid:125)
(cid:124)(cid:123)(cid:122)(cid:125)
y hola(cid:48)
?
?
.
.
2,1 = A2,1 + µ2A1,1
0 = A(cid:48)
0 = A(cid:48)
(cid:124)(cid:123)(cid:122)(cid:125)
3,1 = A2,1
+µ3A1,1
?
0 = A(cid:48)
4,1 = A2,1 + µ2A1,1
⇒
⇒
⇒
µ2 = −
A2,1
A1,1
µ3 = −
µ4 =
A2,1
A1,1
A2,1
A1,1
Note que los n´umeros µ2, µ3, µ4, µ5 no dependen entre ellos de ninguna forma.
Programaci´on: primer paso de la reducci´on con pivotes diagonales, p´agina 2 de 4
6. C´alculo del n´umero anulador para matrices en general.
Sea A ∈ Mm×n(R). Utilizamos como pivote la entrada A1,1 para anular las entradas
A2,1, A3,1, . . . , Am,1. Para ello necesitamos hacer m − 1 operaciones elementales, tales ope-
raciones elementales ser´an, para q = 2, 3, . . . , m:
Rq + = µRp
d´onde
µ =
A1,1
7. Comandos de Wolfram Mathematica para hacer operaciones elementales.
Se recomienda ejecutar los siguientes comandos uno por uno para aprender los comandos
de Wolfram Mathematica que pueden ser ´utiles para programar la eliminaci´on de Gauss.
A = {{2, 5, 1, -3, 6}, {6, 2, 4, 7, -1}, {8, 4, 5, 1, 7}}
MatrixForm[A]
B = A (∗ crear una copia ∗)
B[[1]]
B[[2]]
B[[1, 1]]
B[[2, 1]]
Usemos la entrada B[[1, 1]] como pivote para anular la entrada B[[3, 1]]:
mu = B[[3, 1]] / B[[1, 1]]
B[[3]] -= \mu * B[[1]]
MatrixForm[B]
(∗ para ver el resultado ∗)
Escriba la operaci´on elemental que use B[[1, 1]] como pivote y anule B[[2, 1]]:
mu =
B[[ ]] -= mu * B[[ ]]
Programaci´on: primer paso de la reducci´on con pivotes diagonales, p´agina 3 de 4
8. Algoritmo ReduceFirstStep.
Vamos a denotar por i al ´ındice de la fila que estamos modificando.
Algoritmo ReduceFirstStep
Variables locales: B, m, n, k, i, j, mu;
m := n´umero de filas de A;
n := n´umero de columnas de A;
B := Una copia de A;
// Comentario: usamos B[[1, 1]] como pivote
// y eliminamos B[[i, 1]] para i de
a
;
Para i de
mu = B[[
Para j de
a
,
hacer:
]]/B[[
,
]];
a
hacer:
B[[i, j]] =
;
Salida : B
9. Programar el primer paso de la eliminaci´on de Gauss (2 %). Escriba una
funci´on ReduceFirstStep de un argumento matricial que haga el primer paso de la eli-
minaci´on de Gauss.
Entrada: una matriz rectangular A de tama˜no m × n, con A1,1 (cid:54)= 0.
Salida: la matriz B que se obtiene de la matriz A al aplicar operaciones elementales
que eliminen las entradas A2,1, . . . , Am,1.
10. Comprobaci´on. Aplique la funci´on ReduceFirstStep a la siguiente matriz:
3
3
1
A =
.
2 −1
6
12 11 −4 32 24
7
2
1 −2
0 −3
8
8
4
Programaci´on: primer paso de la reducci´on con pivotes diagonales, p´agina 4 de 4
Comentarios de: Programación: Primer paso de la reducción de una matriz con pivotes diagonales (0)
No hay comentarios