RCOUT.mw

>                 #####################################################################################

>                    #################### !!!!!!!!!!!!!!!!!! START RUNS HERE !!!!!!!!!!!!! ######################################

>                 #####################################################################################

> print(matrans(R),matrans(B),submatrix(Q,1..n-d,1..n),pi);

vector([4, 4, 4, 7, 7, 7, 5, 1, 1]), vector([2, 9, 5, 8, 3, 8, 1, 6, 2]), matrix([[0, 0, 0, -1, 0, 1, 0, 0, 0], [-1, 0, 1, 0, 0, 0, -1, 0, 1]]), vector([3, 2, 1, 3, 2, 1, 3, 2, 1])

> "rank Delta"=rank(Delta);"rank A"=rank(A);"min-poly",factor(minpoly(Delta,x));unassign('phi','ee');print("pi",pi);

> ########################## RANK RUNS ###############################

> d:=rank(Delta);n:=rowdim(A):zeta:=vector(n,0):ND:=nullspace(Delta);P:=concat(seq(ND[k],k=1..nops(ND)),seq(zeta,j=1..d)):nullspace(J-P);

d := 7

ND := {vector([0, 0, 1, 0, 0, 0, 1, 1, 0]), vector([1, 1, 0, 1, 1, 1, 0, 0, 1])}

{vector([1, 1, 1, 1, 1, 1, 1, 1, 1])}

> ee:=[-1,1,1,-1,1,1,-1,1,1,1]:phi:=diag(seq(ee[q],q=1..n)):Detta:=phi&*Delta:R:=evalm(A+Detta):B:=evalm(A-Detta):matrans(R),matrans(B);factor(minpoly(R,s)),factor(minpoly(B,s));nullspace(transpose(Detta));minpoly(Detta,x),factor(minpoly(Detta,x));

vector([2, 4, 4, 8, 7, 7, 5, 1, 1]), vector([4, 9, 5, 7, 3, 8, 1, 6, 2])

s*(s-1)*(s+1)*(s^2+1), (s-1)*(s+1)*(s^2+s+1)

{vector([1, 0, 1, 0, 0, 0, 1, 0, 1]), vector([0, 0, 0, 1, 0, 1, 0, 0, 0])}

1/32*x+1/32*x^2-1/4*x^3+1/8*x^4+3/8*x^5-x^6+x^8, 1/32*x*(2*x-1)*(x+1)*(4*x^2-2*x-1)*(4*x^3+1)

> rterm:={}:v:=evalm(multiply(e,R)):for i to n do if (v[i]=0) then rterm:=rterm union {i} fi od:bterm:={}:v:=evalm(multiply(e,B)):for i to n do if (v[i]=0) then bterm:=bterm union {i} fi od:print("terminal points of R",rterm,"terminal points of B",bterm);

> RCYC:=map(limit,evalm((1-s)*inverse(J-s*R)),s=1):BCYC:=map(limit,evalm((1-s)*inverse(J-s*B)),s=1):

> unassign('S0','T0','s0','t0');RC:={}:S0:={}:s0:={}:k:=0:a:=1:for IX to n do for i to n do if(RCYC[IX,i]<>0) then k:=k+1;s0:={i}union s0 fi; if( RCYC[IX,i]<0 and a=1 ) then a:=-1 fi; od;S0:=S0 union {s0};RC:=RC union s0;s0:={}: od:BC:={}:j:=0:b:=1:T0:={}:t0:={}:for IX to n do for i to n do if(BCYC[IX,i]<>0) then j:=j+1;t0:={i} union t0 fi; if(BCYC[IX,i]<0 and b=1) then b:=-1 fi od;T0:=T0 union {t0};BC:=BC union t0;t0:={} od:rcyc:=a*k*RCYC:bcyc:=evalm(b*j*BCYC):print("cycles in R",S0,"cycles in B",T0);

> for i to n do if iszero(evalm((R^2)^i-R^i)) then print ("order of R is",i);break fi od;N:=i:

> vv:=multiply(Delta,R^N,e):P0:={}:for i to n do if vv[i]=0 then P0:=P0 union {i} fi od: print("periodic points",P0);print("PN points",P0 minus RC);

> for i to n do if iszero(evalm((B^2)^i-B^i)) then print ("order of B is",i);break fi od;N:=i:

> vv:=multiply(Delta,B^N,e):Q0:={}:for i to n do if vv[i]=0 then Q0:=Q0 union {i} fi od: print("periodic points",Q0);print("PN points",Q0 minus BC);

> antR:=(rterm minus RC) minus P0;antB:=(bterm minus BC) minus Q0;

antR := {3, 6, 9}

antB := {}

> Y0[0]:=Omega:for i from 1 to d do Y0[i]:=map(simplify,multiply(Y0[i-1],Detta)) od:K0:=stackmatrix(seq(row(Y0[b],1),b=1..d)): print(rank(K0),K0);

1, matrix([[0, 1/18, (-1)/18, 0, 1/18, (-1)/18, 0, 1/18, (-1)/18], [0, 1/36, (-1)/36, 0, 1/36, (-1)/36, 0, 1/36, (-1)/36], [0, 1/72, (-1)/72, 0, 1/72, (-1)/72, 0, 1/72, (-1)/72], [0, 1/144, (-1)/144, ...

> NK:=nullspace(transpose(K0));dd:=d+1:

NK := {vector([0, 1, 0, 0, 0, 0, -32]), vector([0, 0, 1, 0, 0, 0, -16]), vector([0, 0, 0, 1, 0, 0, -8]), vector([1, 0, 0, 0, 0, 0, -64]), vector([0, 0, 0, 0, 0, 1, -2]), vector([0, 0, 0, 0, 1, 0, -4])...NK := {vector([0, 1, 0, 0, 0, 0, -32]), vector([0, 0, 1, 0, 0, 0, -16]), vector([0, 0, 0, 1, 0, 0, -8]), vector([1, 0, 0, 0, 0, 0, -64]), vector([0, 0, 0, 0, 0, 1, -2]), vector([0, 0, 0, 0, 1, 0, -4])...

> for k from 1 to n  do phi[k,k]:=-ee[k]; Y0[0]:=Omega:for i from 1 to d do Y0[i]:=map(simplify,multiply(Y0[i-1],Detta)) od:KA[k]:=stackmatrix(seq(row(Y0[b],1),b=1..d)); print(k,rank(KA[k]));phi[k,k]:=ee[k]; od:

1, 5

2, 7

3, 7

4, 7

5, 7

6, 7

7, 7

8, 7

9, 7

> if ( rank(K0)=d) then mm:=minpoly(Detta,s):NKN:=CoefficientList(mm,s);dd:=degree(mm)+1 ;

> p:=add(NKN[j]*s^(j-1),j=1..dd):q:=add(abs(NKN[j])*t^(j-1),j=1..dd):print(p,q);

> PP:=evalm(subs(s=Detta,p)):QQ:=evalm(subs(t=A,q)):SA:=evalm(PP+QQ):rowsum:=multiply(SA,vector(n,1)):ST:=evalm(SA/rowsum[1]):SB:=evalm(-PP+QQ):rowsum:=multiply(SB,vector(n,1)):SU:=map(simplify,evalm(SB/rowsum[1])):print(PP,QQ,ST,SU,"cmm check",cmm(ST,Omega),cmm(SU,Omega));print( map(limit,evalm((1-s)*inverse(evalm(J-s*ST))),s=1),map(limit,evalm((1-s)*inverse(evalm(J-s*SU))),s=1)); fi;

> if(rank(K0)<d) then for i to nullity(K0) do NKN:=[0,seq(NK[i][k],k=1..d)];

> p:=add(NKN[j]*s^(j-1),j=1..dd):q:=add(abs(NKN[j])*t^(j-1),j=1..dd):print(p,q);

> PP:=evalm(subs(s=Detta,p)):QQ:=evalm(subs(t=A,q)):SA:=evalm(PP+QQ):rowsum:=multiply(SA,vector(n,1)):ST:=map(simplify,evalm(SA/rowsum[1])):SB:=evalm(-PP+QQ):rowsum:=multiply(SB,vector(n,1)):SU:=map(simplify,evalm(SB/rowsum[1])):print(PP,QQ,ST,SU,"cmm check",cmm(ST,Omega),cmm(SU,Omega));print( map(limit,evalm((1-s)*inverse(evalm(J-s*ST))),s=1),map(limit,evalm((1-s)*inverse(evalm(J-s*SU))),s=1)); od;fi;

s-64*s^7, t+64*t^7

matrix([[10, -8, (-7)/2, 23/2, (-13)/2, (-7)/2, 10, (-13)/2, (-7)/2], [(-23)/2, 11/2, 3/2, -12, 9, 4, -8, 13/2, 5], [-12, 9/2, 3/2, -13, 23/2, 4, (-13)/2, 5, 5], [17/2, -8, -5, 19/2, (-9)/2, (-5)/2, 2...matrix([[10, -8, (-7)/2, 23/2, (-13)/2, (-7)/2, 10, (-13)/2, (-7)/2], [(-23)/2, 11/2, 3/2, -12, 9, 4, -8, 13/2, 5], [-12, 9/2, 3/2, -13, 23/2, 4, (-13)/2, 5, 5], [17/2, -8, -5, 19/2, (-9)/2, (-5)/2, 2...

matrix([[1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9,...

s^6-2*s^7, t^6+2*t^7

matrix([[17/32, (-3)/8, (-5)/32, 1/2, (-5)/16, (-3)/16, 15/32, (-5)/16, (-5)/32], [(-1)/2, 11/32, 1/8, (-35)/64, 21/64, 11/64, (-29)/64, 21/64, 13/64], [(-33)/64, 19/64, 11/64, (-17)/32, 27/64, 11/64,...matrix([[17/32, (-3)/8, (-5)/32, 1/2, (-5)/16, (-3)/16, 15/32, (-5)/16, (-5)/32], [(-1)/2, 11/32, 1/8, (-35)/64, 21/64, 11/64, (-29)/64, 21/64, 13/64], [(-33)/64, 19/64, 11/64, (-17)/32, 27/64, 11/64,...matrix([[17/32, (-3)/8, (-5)/32, 1/2, (-5)/16, (-3)/16, 15/32, (-5)/16, (-5)/32], [(-1)/2, 11/32, 1/8, (-35)/64, 21/64, 11/64, (-29)/64, 21/64, 13/64], [(-33)/64, 19/64, 11/64, (-17)/32, 27/64, 11/64,...

matrix([[1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9],...

s^2-32*s^7, t^2+32*t^7

matrix([[5, (-17)/4, (-7)/4, 25/4, (-13)/4, (-7)/4, 21/4, (-7)/2, -2], [-6, 3, 3/4, (-25)/4, 9/2, 2, (-17)/4, 7/2, 11/4], [-6, 9/4, 1, (-27)/4, 6, 2, (-15)/4, 11/4, 5/2], [19/4, -4, (-5)/2, 19/4, (-5)...matrix([[5, (-17)/4, (-7)/4, 25/4, (-13)/4, (-7)/4, 21/4, (-7)/2, -2], [-6, 3, 3/4, (-25)/4, 9/2, 2, (-17)/4, 7/2, 11/4], [-6, 9/4, 1, (-27)/4, 6, 2, (-15)/4, 11/4, 5/2], [19/4, -4, (-5)/2, 19/4, (-5)...

matrix([[1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9],...

s^3-16*s^7, t^3+16*t^7

matrix([[17/8, -2, (-7)/8, 3, (-3)/2, (-3)/4, 19/8, (-3)/2, (-7)/8], [(-21)/8, 5/4, 3/8, (-23)/8, 17/8, 7/8, -2, 13/8, 5/4], [(-21)/8, 9/8, 3/8, (-13)/4, 21/8, 7/8, (-13)/8, 5/4, 5/4], [17/8, (-7)/4, ...matrix([[17/8, -2, (-7)/8, 3, (-3)/2, (-3)/4, 19/8, (-3)/2, (-7)/8], [(-21)/8, 5/4, 3/8, (-23)/8, 17/8, 7/8, -2, 13/8, 5/4], [(-21)/8, 9/8, 3/8, (-13)/4, 21/8, 7/8, (-13)/8, 5/4, 5/4], [17/8, (-7)/4, ...

matrix([[1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9,...

s^4-8*s^7, t^4+8*t^7

matrix([[11/8, (-5)/4, (-1)/2, 7/4, (-7)/8, (-1)/2, 11/8, (-7)/8, (-1)/2], [(-3)/2, 7/8, 1/4, (-7)/4, 9/8, 1/2, (-5)/4, 1, 3/4], [(-3)/2, 3/4, 3/8, (-15)/8, 3/2, 1/2, (-9)/8, 3/4, 5/8], [5/4, -1, (-5)...matrix([[11/8, (-5)/4, (-1)/2, 7/4, (-7)/8, (-1)/2, 11/8, (-7)/8, (-1)/2], [(-3)/2, 7/8, 1/4, (-7)/4, 9/8, 1/2, (-5)/4, 1, 3/4], [(-3)/2, 3/4, 3/8, (-15)/8, 3/2, 1/2, (-9)/8, 3/4, 5/8], [5/4, -1, (-5)...

matrix([[1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9], [1/3, 0, 0, 1/3, 0, 0, 1/3, 0, 0], [0, 2/9, 1/9, 0, 2/9, 1/9, 0, 2/9, 1/9],...

s^5-4*s^7, t^5+4*t^7

matrix([[1/2, (-7)/16, (-3)/16, 9/16, (-5)/16, (-3)/16, 7/16, (-1)/4, (-1)/8], [(-15)/32, 9/32, 3/32, (-5)/8, 13/32, 5/32, (-13)/32, 5/16, 1/4], [(-17)/32, 9/32, 3/32, (-21)/32, 1/2, 3/16, (-5)/16, 7/...matrix([[1/2, (-7)/16, (-3)/16, 9/16, (-5)/16, (-3)/16, 7/16, (-1)/4, (-1)/8], [(-15)/32, 9/32, 3/32, (-5)/8, 13/32, 5/32, (-13)/32, 5/16, 1/4], [(-17)/32, 9/32, 3/32, (-21)/32, 1/2, 3/16, (-5)/16, 7/...matrix([[1/2, (-7)/16, (-3)/16, 9/16, (-5)/16, (-3)/16, 7/16, (-1)/4, (-1)/8], [(-15)/32, 9/32, 3/32, (-5)/8, 13/32, 5/32, (-13)/32, 5/16, 1/4], [(-17)/32, 9/32, 3/32, (-21)/32, 1/2, 3/16, (-5)/16, 7/...

matrix([[1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9, 1/18], [1/6, 1/9, 1/18, 1/6, 1/9, 1/18, 1/6, 1/9,...