> with(linalg): Warning, the protected names norm and trace have been redefined and unprotected > Fib := matrix(2,2,[0,1,1,1]); [0 1] Fib := [ ] [1 1] > for i from 1 to 7 do > Fib := evalm(Fib^2); print(i,Fib); od; [1 1] Fib := [ ] [1 2] [1 1] 1, [ ] [1 2] [2 3] Fib := [ ] [3 5] [2 3] 2, [ ] [3 5] [13 21] Fib := [ ] [21 34] [13 21] 3, [ ] [21 34] [610 987] Fib := [ ] [987 1597] [610 987] 4, [ ] [987 1597] [1346269 2178309] Fib := [ ] [2178309 3524578] [1346269 2178309] 5, [ ] [2178309 3524578] [ 6557470319842 10610209857723] Fib := [ ] [10610209857723 17167680177565] [ 6557470319842 10610209857723] 6, [ ] [10610209857723 17167680177565] Fib := [155576970220531065681649693 , 251728825683549488150424261] [251728825683549488150424261 , 407305795904080553832073954] 7, [155576970220531065681649693 , 251728825683549488150424261] [251728825683549488150424261 , 407305795904080553832073954] > evalm(Fib &* vector([0,1])); [251728825683549488150424261, 407305795904080553832073954] > combinat[fibonacci](128); 251728825683549488150424261 > combinat[fibonacci](129); 407305795904080553832073954 > golden:=(1+sqrt(5))/2; golden := 1/2 + 1/2 sqrt(5) > f129:=golden^127; 127 f129 := (1/2 + 1/2 sqrt(5)) > evalf(%,30); 27 .347880681146567910619198828846 10 > solve(x^2-x-1,x); 1/2 + 1/2 sqrt(5), 1/2 - 1/2 sqrt(5) > combinat[fibonacci](129)/combinat[fibonacci](128); 407305795904080553832073954 --------------------------- 251728825683549488150424261 > evalf(%); 1.618033989 > evalf(golden); 1.618033989 > ?identity > I4:=Matrix(4,4,shape=identity); [1 0 0 0] [ ] [0 1 0 0] I4 := [ ] [0 0 1 0] [ ] [0 0 0 1] > A := matrix(2,4); A := array(1 .. 2, 1 .. 4, []) > evalm(A &* I4); > [A[1, 1] A[1, 2] A[1, 3] A[1, 4]] [ ] [A[2, 1] A[2, 2] A[2, 3] A[2, 4]] > F2 := matrix(2,2,[0,1,1,1]); [0 1] F2 := [ ] [1 1] > evalm(F2^(-1)); [-1 1] [ ] [ 1 0] >