> with(linalg): Warning, new definition for norm Warning, new definition for trace > A := matrix(3,7); A := array(1 .. 3, 1 .. 7, []) > B := matrix(7, 2); B := array(1 .. 7, 1 .. 2, []) > print(A); [A[1, 1] , A[1, 2] , A[1, 3] , A[1, 4] , A[1, 5] , A[1, 6] , A[1, 7]] [A[2, 1] , A[2, 2] , A[2, 3] , A[2, 4] , A[2, 5] , A[2, 6] , A[2, 7]] [A[3, 1] , A[3, 2] , A[3, 3] , A[3, 4] , A[3, 5] , A[3, 6] , A[3, 7]] > print(B); [B[1, 1] B[1, 2]] [ ] [B[2, 1] B[2, 2]] [ ] [B[3, 1] B[3, 2]] [ ] [B[4, 1] B[4, 2]] [ ] [B[5, 1] B[5, 2]] [ ] [B[6, 1] B[6, 2]] [ ] [B[7, 1] B[7, 2]] > evalm(A &* B); [A[1, 1] B[1, 1] + A[1, 2] B[2, 1] + A[1, 3] B[3, 1] + A[1, 4] B[4, 1] + A[1, 5] B[5, 1] + A[1, 6] B[6, 1] + A[1, 7] B[7, 1] , A[1, 1] B[1, 2] + A[1, 2] B[2, 2] + A[1, 3] B[3, 2] + A[1, 4] B[4, 2] + A[1, 5] B[5, 2] + A[1, 6] B[6, 2] + A[1, 7] B[7, 2]] [A[2, 1] B[1, 1] + A[2, 2] B[2, 1] + A[2, 3] B[3, 1] + A[2, 4] B[4, 1] + A[2, 5] B[5, 1] + A[2, 6] B[6, 1] + A[2, 7] B[7, 1] , A[2, 1] B[1, 2] + A[2, 2] B[2, 2] + A[2, 3] B[3, 2] + A[2, 4] B[4, 2] + A[2, 5] B[5, 2] + A[2, 6] B[6, 2] + A[2, 7] B[7, 2]] [A[3, 1] B[1, 1] + A[3, 2] B[2, 1] + A[3, 3] B[3, 1] + A[3, 4] B[4, 1] + A[3, 5] B[5, 1] + A[3, 6] B[6, 1] + A[3, 7] B[7, 1] , A[3, 1] B[1, 2] + A[3, 2] B[2, 2] + A[3, 3] B[3, 2] + A[3, 4] B[4, 2] + A[3, 5] B[5, 2] + A[3, 6] B[6, 2] + A[3, 7] B[7, 2]] > C := matrix(7,2); C := array(1 .. 7, 1 .. 2, []) > LS := evalm(A &* (B + C)); LS := [A[1, 1] (B[1, 1] + C[1, 1]) + A[1, 2] (B[2, 1] + C[2, 1]) + A[1, 3] (B[3, 1] + C[3, 1]) + A[1, 4] (B[4, 1] + C[4, 1]) + A[1, 5] (B[5, 1] + C[5, 1]) + A[1, 6] (B[6, 1] + C[6, 1]) + A[1, 7] (B[7, 1] + C[7, 1]) , A[1, 1] (B[1, 2] + C[1, 2]) + A[1, 2] (B[2, 2] + C[2, 2]) + A[1, 3] (B[3, 2] + C[3, 2]) + A[1, 4] (B[4, 2] + C[4, 2]) + A[1, 5] (B[5, 2] + C[5, 2]) + A[1, 6] (B[6, 2] + C[6, 2]) + A[1, 7] (B[7, 2] + C[7, 2])] [A[2, 1] (B[1, 1] + C[1, 1]) + A[2, 2] (B[2, 1] + C[2, 1]) + A[2, 3] (B[3, 1] + C[3, 1]) + A[2, 4] (B[4, 1] + C[4, 1]) + A[2, 5] (B[5, 1] + C[5, 1]) + A[2, 6] (B[6, 1] + C[6, 1]) + A[2, 7] (B[7, 1] + C[7, 1]) , A[2, 1] (B[1, 2] + C[1, 2]) + A[2, 2] (B[2, 2] + C[2, 2]) + A[2, 3] (B[3, 2] + C[3, 2]) + A[2, 4] (B[4, 2] + C[4, 2]) + A[2, 5] (B[5, 2] + C[5, 2]) + A[2, 6] (B[6, 2] + C[6, 2]) + A[2, 7] (B[7, 2] + C[7, 2])] [A[3, 1] (B[1, 1] + C[1, 1]) + A[3, 2] (B[2, 1] + C[2, 1]) + A[3, 3] (B[3, 1] + C[3, 1]) + A[3, 4] (B[4, 1] + C[4, 1]) + A[3, 5] (B[5, 1] + C[5, 1]) + A[3, 6] (B[6, 1] + C[6, 1]) + A[3, 7] (B[7, 1] + C[7, 1]) , A[3, 1] (B[1, 2] + C[1, 2]) + A[3, 2] (B[2, 2] + C[2, 2]) + A[3, 3] (B[3, 2] + C[3, 2]) + A[3, 4] (B[4, 2] + C[4, 2]) + A[3, 5] (B[5, 2] + C[5, 2]) + A[3, 6] (B[6, 2] + C[6, 2]) + A[3, 7] (B[7, 2] + C[7, 2])] > RS := evalm( A &* B + A &* C); RS := [A[1, 1] B[1, 1] + A[1, 2] B[2, 1] + A[1, 3] B[3, 1] + A[1, 4] B[4, 1] + A[1, 5] B[5, 1] + A[1, 6] B[6, 1] + A[1, 7] B[7, 1] + A[1, 1] C[1, 1] + A[1, 2] C[2, 1] + A[1, 3] C[3, 1] + A[1, 4] C[4, 1] + A[1, 5] C[5, 1] + A[1, 6] C[6, 1] + A[1, 7] C[7, 1] , A[1, 1] B[1, 2] + A[1, 2] B[2, 2] + A[1, 3] B[3, 2] + A[1, 4] B[4, 2] + A[1, 5] B[5, 2] + A[1, 6] B[6, 2] + A[1, 7] B[7, 2] + A[1, 1] C[1, 2] + A[1, 2] C[2, 2] + A[1, 3] C[3, 2] + A[1, 4] C[4, 2] + A[1, 5] C[5, 2] + A[1, 6] C[6, 2] + A[1, 7] C[7, 2]] [A[2, 1] B[1, 1] + A[2, 2] B[2, 1] + A[2, 3] B[3, 1] + A[2, 4] B[4, 1] + A[2, 5] B[5, 1] + A[2, 6] B[6, 1] + A[2, 7] B[7, 1] + A[2, 1] C[1, 1] + A[2, 2] C[2, 1] + A[2, 3] C[3, 1] + A[2, 4] C[4, 1] + A[2, 5] C[5, 1] + A[2, 6] C[6, 1] + A[2, 7] C[7, 1] , A[2, 1] B[1, 2] + A[2, 2] B[2, 2] + A[2, 3] B[3, 2] + A[2, 4] B[4, 2] + A[2, 5] B[5, 2] + A[2, 6] B[6, 2] + A[2, 7] B[7, 2] + A[2, 1] C[1, 2] + A[2, 2] C[2, 2] + A[2, 3] C[3, 2] + A[2, 4] C[4, 2] + A[2, 5] C[5, 2] + A[2, 6] C[6, 2] + A[2, 7] C[7, 2]] [A[3, 1] B[1, 1] + A[3, 2] B[2, 1] + A[3, 3] B[3, 1] + A[3, 4] B[4, 1] + A[3, 5] B[5, 1] + A[3, 6] B[6, 1] + A[3, 7] B[7, 1] + A[3, 1] C[1, 1] + A[3, 2] C[2, 1] + A[3, 3] C[3, 1] + A[3, 4] C[4, 1] + A[3, 5] C[5, 1] + A[3, 6] C[6, 1] + A[3, 7] C[7, 1] , A[3, 1] B[1, 2] + A[3, 2] B[2, 2] + A[3, 3] B[3, 2] + A[3, 4] B[4, 2] + A[3, 5] B[5, 2] + A[3, 6] B[6, 2] + A[3, 7] B[7, 2] + A[3, 1] C[1, 2] + A[3, 2] C[2, 2] + A[3, 3] C[3, 2] + A[3, 4] C[4, 2] + A[3, 5] C[5, 2] + A[3, 6] C[6, 2] + A[3, 7] C[7, 2]] > equal(map(expand, LS), map(expand, RS)); true > equal(LS, RS); false > T := matrix(2,2,[0,1,1,1]); [0 1] T := [ ] [1 1] > v := vector([1,1]); v := [1, 1] > evalm(T &* v); [1, 2] > evalm(T^10 &* v); [89, 144] > TT := T; TT := T > for i from 1 to 10 do > TT := evalm(TT^2); od; [1 1] TT := [ ] [1 2] [2 3] TT := [ ] [3 5] [13 21] TT := [ ] [21 34] [610 987] TT := [ ] [987 1597] [1346269 2178309] TT := [ ] [2178309 3524578] [ 6557470319842 10610209857723] TT := [ ] [10610209857723 17167680177565] TT := [155576970220531065681649693 , 251728825683549488150424261] [251728825683549488150424261 , 407305795904080553832073954] TT := [87571595343018854458033386304178158174356588264390370 , 141693817714056513234709965875411919657707794958199867] [141693817714056513234709965875411919657707794958199867 , 229265413057075367692743352179590077832064383222590237] TT := [277459222893057168553384709160828150293488720296478308619\ 14852073402148308000613611082094085891168867554589 , 448938\ 4531330994297807729816066062664618188362388623979126969446\ 6661322268805744081870933775586567858979269] [448938453133099429780772981606606266461818836238862397912\ 69694466661322268805744081870933775586567858979269 , 726397\ 6760261565983341576907674344167553075565353407065318454654\ 0063470576806357692953027861477736726533858] TT := [278529355069959292393881241266809350935330735212370380691\ 3182668987369503203465183625616759613324452749958549669966\ 8821911178954250152084554694037312726521582408256284848181\ 31485544230827304940519132195299466733282 , 450669963367781\ 9813104383235728886049367860596218604830803023149600030645\ 7087213962487926091410303962448732665803450112195302093674\ 2558101987106764609420026228520234665586889971108924677841\ 3354004103631553925405243] [450669963367781981310438323572888604936786059621860483080\ 3023149600030645708721396248792609141030396244873266580345\ 0112195302093674255810198710676460942002622852023466558688\ 99711089246778413354004103631553925405243 , 729199318437741\ 2737043195648396979558721167948342308637716205818587400148\ 9121865798744093687543548489948318162503118934106481047924\ 4078947534047137736685242052602797514068703119663347760571\ 8294523235826853392138525] > vv := evalm(TT &* v); vv := [729199318437741273704319564839697955872116794834230863771\ 6205818587400148912186579874409368754354848994831816250311\ 8934106481047924407894753404713773668524205260279751406870\ 31196633477605718294523235826853392138525, 1179869281805523\ 2550147578884125865608089028544560913468519228968187430794\ 6209079761232019778953852452397050828306569046301783141598\ 6637049521153902346105268281123032179655593090772272438413\ 1648527339458407317543768] > vv[1]; 7291993184377412737043195648396979558721167948342308637716205818\ 5874001489121865798744093687543548489948318162503118934106\ 4810479244078947534047137736685242052602797514068703119663\ 3477605718294523235826853392138525 > ?fibonacci > with(combinat); Warning, new definition for Chi Warning, new definition for fibonacci [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] > fibonacci(11); 89 > fibonacci(2^10 + 1); 7291993184377412737043195648396979558721167948342308637716205818\ 5874001489121865798744093687543548489948318162503118934106\ 4810479244078947534047137736685242052602797514068703119663\ 3477605718294523235826853392138525 > vv[1]; 7291993184377412737043195648396979558721167948342308637716205818\ 5874001489121865798744093687543548489948318162503118934106\ 4810479244078947534047137736685242052602797514068703119663\ 3477605718294523235826853392138525 > fibonacci(-1); 1 > for i from -1 by -1 while i > -10 do print(fibonacci(i)); od; 1 -1 2 -3 5 -8 13 -21 34 > evalm(T^(-10) &* v); [34, -21] >