> with(linalg): Warning, the protected names norm and trace have been redefined and unprotected > A := matrix(2,3); A := array(1 .. 2, 1 .. 3, []) > B := matrix(3,2); B := array(1 .. 3, 1 .. 2, []) > evalm(A); [A[1, 1] A[1, 2] A[1, 3]] [ ] [A[2, 1] A[2, 2] A[2, 3]] > C := evalm(A &* B); C := [A[1, 1] B[1, 1] + A[1, 2] B[2, 1] + A[1, 3] B[3, 1] , A[1, 1] B[1, 2] + A[1, 2] B[2, 2] + A[1, 3] B[3, 2]] [A[2, 1] B[1, 1] + A[2, 2] B[2, 1] + A[2, 3] B[3, 1] , A[2, 1] B[1, 2] + A[2, 2] B[2, 2] + A[2, 3] B[3, 2]] > A1 := matrix(2,3,[-2,1,3,4,1,6]); [-2 1 3] A1 := [ ] [ 4 1 6] > B1 := matrix(3,2,[3,-2,2,4,1,-3]); [3 -2] [ ] B1 := [2 4] [ ] [1 -3] > evalm(A1 &* B1); [-1 -1] [ ] [20 -22] > evalm(B1 &* A1); [-14 1 -3] [ ] [ 12 6 30] [ ] [-14 -2 -15] > subs(x=0, 1/x); Error, division by zero > B2 := matrix(1,3); B2 := array(1 .. 1, 1 .. 3, []) > evalm(A &* B2); Error, (in linalg[multiply]) non matching dimensions for vector/matrix product > C2 := matrix(2,1); C2 := array(1 .. 2, 1 .. 1, []) > R1 := evalm((A &* B) &* C2); R1 := [(A[1, 1] B[1, 1] + A[1, 2] B[2, 1] + A[1, 3] B[3, 1]) C2[1, 1] + (A[1, 1] B[1, 2] + A[1, 2] B[2, 2] + A[1, 3] B[3, 2]) C2[2, 1]] [(A[2, 1] B[1, 1] + A[2, 2] B[2, 1] + A[2, 3] B[3, 1]) C2[1, 1] + (A[2, 1] B[1, 2] + A[2, 2] B[2, 2] + A[2, 3] B[3, 2]) C2[2, 1]] > R2 := evalm(A &* (B &* C2)); R2 := [(A[1, 1] B[1, 1] + A[1, 2] B[2, 1] + A[1, 3] B[3, 1]) C2[1, 1] + (A[1, 1] B[1, 2] + A[1, 2] B[2, 2] + A[1, 3] B[3, 2]) C2[2, 1]] [(A[2, 1] B[1, 1] + A[2, 2] B[2, 1] + A[2, 3] B[3, 1]) C2[1, 1] + (A[2, 1] B[1, 2] + A[2, 2] B[2, 2] + A[2, 3] B[3, 2]) C2[2, 1]] > equal(R1,R2); true > ?fibonacci > with(combinat); Warning, the name fibonacci has been redefined Warning, the protected name Chi has been redefined and unprotected [Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, fibonacci, firstpart, graycode, inttovec, lastpart, multinomial, nextpart, numbcomb, numbcomp, numbpart, numbperm, partition, permute, powerset, prevpart, randcomb, randpart, randperm, stirling1, stirling2, subsets, vectoint] > for i from 0 to 10 do print(fibonacci(i)); od; 0 1 1 2 3 5 8 13 21 34 55 > for i from 0 to 10 do print(fibonacci(-i)); od; 0 1 -1 2 -3 5 -8 13 -21 34 -55 >