Está en la página 1de 5

Ejercicio 1.

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);

(%o14) rowpro (x, i, α) := rowop (x, i, i, 1 − α)

--> rowpro(AeP1, 1,1/2);

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

2 La forma escalonada reducida de A.


A partir de la anterior matriz se realizan las operaciones siguientes:

--> 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

También podría gustarte