Documentos de Académico
Documentos de Profesional
Documentos de Cultura
14
1 Cálculo de una matriz escalonada de A.
Definición de las matrices A y A—I .
--> A:matrix([2,2,3],[1,2,5],[3,0,1],[5,3,1]);
2 2 3
1 2 5
(%o1)
3 0 1
5 3 1
--> AI:matrix([2,2,3,1,0,0,0],[1,2,5,0,1,0,0],[3,0,1,0,0,1,0],[5,3,1,0,0,0,1]);
2 2 3 1 0 0 0
1 2 5 0 1 0 0
(%o2)
3 0 1 0 0 1 0
5 3 1 0 0 0 1
Operaciones elementales: El comando
rowop (A, i, j, theta)
devuelve la matriz que resulta de realizar la operación elemental F i -> F i -
theta * F j con las filas F i y F j en la matriz A.
--> rowop(AI,2,1,1/2);
2 2 3 1 0 0 0
0 1 7 − 1 1 0 0
(%o3) 2 2
3 0 1 0 0 1 0
5 3 1 0 0 0 1
--> rowop(%,3,1,3/2);
2 2 3 1 0 0 0
7 1
0 1
2 − 2 1 0 0
(%o4)
0 −3 − 7 3
2 −2 0 1 0
5 3 1 0 0 0 1
--> rowop(%,4,1,5/2);
2 2 3 1 0 0 0
7 1
0 1
2 − 2 1 0 0
(%o5)
0 −3 − 7 − 3
2 2 0 1 0
0 −2 − 132 − 52 0 0 1
1
A continuación, se realizan las siguientes operaciones para obtener ceros debajo
del segundo pivote.
--> rowop(%,3,2,-3);
2 2 3 1 0 0 0
7 1
0 1
2 − 2 1 0 0
(%o6)
0 0 7 −3 3 1 0
0 −2 − 132 − 52 0 0 1
--> rowop(%,4,2,-2);
2 2 3 1 0 0 0
0 1 7 − 1 1 0 0
(%o7) 2 2
0 0 7 −3 3 1 0
0 0 12 − 72 2 0 1
Por último, se realiza la siguiente operación para obtener cero debajo del tercer
pivote.
--> AeP1:rowop(%,4,3,1/14);
2 2 3 1 0 0 0
0 1 7 − 1 1 0 0
(%o8) 2 2
0 0 7 −3 3 1 0
0 0 0 − 23 7
25
14
1
− 14 1
Entonces
la submatriz definida por las tres primeras columnas es una matriz reducida de
A y la submatriz definida por las cuatro últimas columnas es la matriz de paso
P
--> Ae:submatrix(AeP1,4,5,6,7);
2 2 3
0 1 7
(%o9) 2
0 0 7
0 0 0
--> P1:submatrix(AeP1,1,2,3);
1 0 0 0
−1 1 0 0
(%o10) 2
−3 3 1 0
− 23
7
25
14
1
− 14 1
Comprobación:
2
--> is(P1.A=Ae);
(%o11) true
OBSERVACIÓN: La matriz escalonada de una matriz no es única. Otra matriz
escalonada y su matriz de paso asociada se puede obtener directamente con el
comando
triangularize()
--> triangularize(AI);
3 0 1 0 0 1 0
0 6 14 0 3 −1 0
(%o12)
0 0 −14 6
−6 −2 0
0 0 0 46 −25 1 −14
Una forma escalonada de A con los pivotes normalizados. Basta con normalizar
los pivotes de la matriz escalonada AeP1
--> AeP1;
2 2 3 1 0 0 0
7
0 1
2 − 12 1 0 0
(%o13)
0 0 7 −3 3 1 0
0 0 0 − 23
7
25
14
1
− 14 1
MAXIMA no tiene comando directo para la operación elemental multiplicar por
un escalar alpha, F i -> alpha* F i
Dicha operación es posible definirla mediante el comando rowop como sigue:
rowop(x,i,i,1-alpha);
Entonces se define la función anterior, por ejemplo, con el nombre rowpro(x,i,alpha):
--> rowpro(x,i,alpha):=rowop(x,i,i,1-alpha);
1 1 32 1
2 0 0 0
0 1 7 − 1 1 0 0
(%o15) 2 2
0 0 7 −3 3 1 0
0 0 0 − 23 7
25
14
1
− 14 1
--> AenP2:rowpro(%, 3,1/7);
3
3 1
1 1 2 2 0 0 0
7
0 1
2 − 12 1 0 0
(%o16)
0 0 1 − 37 3
7
1
7 0
0 0 0 − 23
7
25
14
1
− 14 1
Comprobación:
--> Aen:submatrix(AenP2,4,5,6,7);
1 1 32
0 1 7
(%o17) 2
0 0 1
0 0 0
--> P2:submatrix(AenP2,1,2,3);
1
2 0 0 0
−1 1 0 0
(%o18) 2
−3 3 1
0
7 7 7
− 23
7
25
14 − 1
14 1
--> is(P2.A=Aen);
(%o19) true
OBSERVACION: La matriz escalonada con pivotes normalizados de una matriz
no es única. Otra matriz escalonada con pivotes normalizados y su matriz de
paso asociada se puede obtener directamente con el comando
echelon()
--> echelon(AI);
1 0 13 1
0 0 3 0
0 1 7 0 1
− 61 0
(%o20) 3 2
0 0 1 − 3 3 1
0
7 7 7
0 0 0 1 − 25
46
1
46
7
− 23
--> AenP2;
1 1 32 1
2 0 0 0
0 1 7 − 12 1 0 0
(%o21) 2
0 0 1 − 37 3
7
1
7 0
0 0 0 − 23
7
25
14
1
− 14 1
4
Operaciones elementales:
--> rowop(AenP2,1,2,1);
1 0 −2 1 −1 0 0
0 1 7 − 1
1 0 0
(%o22) 2 2
0 0 1 − 37 3
7
1
7 0
23 25 1
0 0 0 −7 14 − 14 1
--> rowop(%,1,3,-2);
1
− 17 2
1 0 0 7 7 0
0 1 7 − 1 1 0 0
(%o23) 2 2
0 0 1 − 3 3 1
0
7 7 7
23 25 1
0 0 0 −7 14 − 14 1
--> AerP3:rowop(%,2,3,7/2);
1
− 71 2
1 0 0 7 7 0
0 1 0 1 − 2 − 12
1
0
(%o24)
0 0 1 − 73 3
7
1
7 0
23 25 1
0 0 0 −7 14 − 14 1
Comprobación:
--> Aer:submatrix(AerP3,4,5,6,7);
1 0 0
0 1 0
(%o25)
0 0 1
0 0 0
--> P3:submatrix(AerP3,1, 2,3);
1
− 17 2
7 7 0
1 − 12 − 21 0
(%o26)
−3 3 1
7 7 7 0
− 23
7
25
14
1
− 14 1
--> is(P3.A=Aer);
(%o27) true