> read("/afs/eos.ncsu.edu/users/k/kaltofen/www/courses/LinAlgebra/Maple/ > refpkg/initpkg.mpl"); libname := /afs/eos.ncsu.edu/users/k/kaltofen/www/courses/LinAlg\ ebra/Maple, "/afs/bp/dist/maple60/lib" > with(refpkg); [E_I, E_II, E_III, mydet, myinverse, mysolve, ref, xref] > A := matrix(4,4,[a,b,0,1, b,a,0,0, 0,0,a,c, 1,0,c,a]); [a b 0 1] [ ] [b a 0 0] A := [ ] [0 0 a c] [ ] [1 0 c a] > mydet(A); 2 2 2 2 2 2 2 4 c b - c a - a - a b + a > ref(A); [a , b , 0 , 1] [ ] [ 2 ] [ b ] [0 , - ---- + a , 0 , - b/a] [ a ] [ ] [0 , 0 , a , c] [ ] [ 2 2 ] [ c b ] [0 , 0 , 0 , - ---- - --------------- - 1/a + a] [ a / 2 \ ] [ 2 | b | ] [ a |- ---- + a| ] [ \ a / ] > printlevel:=4: > mydet(A); Elem step: add , - b/a, times row , 1, to row , 2 Elem step: add , 0, times row , 1, to row , 3 Elem step: add , - 1/a, times row , 1, to row , 4 [a b 0 1 ] [ ] [ 2 ] [ b ] [0 - ---- + a 0 - b/a ], a [ a ] [ ] [0 0 a c ] [ ] [0 - b/a c - 1/a + a] Elem step: add , 0, times row , 2, to row , 3 b Elem step: add , --------, times row , 2, to row , 4 2 2 -b + a [a , b , 0 , 1] [ 2 ] [ b ] [0 , - ---- + a , 0 , - b/a] [ a ] [0 , 0 , a , c] [ / 2 \ ], [ | b | ] [ b |- ---- + a| 2 ] [ \ a / b ] [0 , -------------- - b/a , c , - ------------ - 1/a + a] [ 2 2 2 2 ] [ -b + a (-b + a ) a ] 2 2 -b + a Elem step: add , - c/a, times row , 3, to row , 4 [a , b , 0 , 1] [ 2 ] [ b ] [0 , - ---- + a , 0 , - b/a] [ a ] [0 , 0 , a , c] [ / 2 \ [ | b | [ b |- ---- + a| [ \ a / [0 , -------------- - b/a , 0 , [ 2 2 [ -b + a 2 2 ], a (-b + a ) ] 2 2 ] c b ] - ---- - ------------ - 1/a + a] a 2 2 ] (-b + a ) a ] [a , b , 0 , 1] [ 2 ] [ b ] [0 , - ---- + a , 0 , - b/a] [ a ] [0 , 0 , a , c] [ / 2 \ [ | b | [ b |- ---- + a| [ \ a / [0 , -------------- - b/a , 0 , [ 2 2 [ -b + a ], ] 2 2 ] c b ] - ---- - ------------ - 1/a + a] a 2 2 ] (-b + a ) a ] 2 2 2 2 2 2 2 4 c b - c a - a - a b + a 2 2 2 2 2 2 2 4 c b - c a - a - a b + a > B := matrix(E_I(4,2,4)); [1 0 0 0] [ ] [0 0 0 1] B := [ ] [0 0 1 0] [ ] [0 1 0 0] > mydet(B); Elem step: add , 0, times row , 1, to row , 2 Elem step: add , 0, times row , 1, to row , 3 Elem step: add , 0, times row , 1, to row , 4 [1 0 0 0] [ ] [0 0 0 1] [ ], 1 [0 0 1 0] [ ] [0 1 0 0] Elem step: exchange rows , 2, 4 Elem step: add , 0, times row , 2, to row , 3 Elem step: add , 0, times row , 2, to row , 4 [1 0 0 0] [ ] [0 1 0 0] [ ], -1 [0 0 1 0] [ ] [0 0 0 1] Elem step: add , 0, times row , 3, to row , 4 [1 0 0 0] [ ] [0 1 0 0] [ ], -1 [0 0 1 0] [ ] [0 0 0 1] [1 0 0 0] [ ] [0 1 0 0] [ ], -1 [0 0 1 0] [ ] [0 0 0 1] -1 > C := matrix(2,2,[a,b,c,d]); [a b] C := [ ] [c d] > linalg[inverse](C); [ d b ] [ --------- - ---------] [ a d - b c a d - b c] [ ] [ c a ] [- --------- --------- ] [ a d - b c a d - b c ] > b := vector(2,[alpha,beta]); b := [alpha, beta] > evalm(C^(-1) &* b); [ d alpha b beta c alpha a beta ] [--------- - ---------, - --------- + ---------] [a d - b c a d - b c a d - b c a d - b c] >