class SYMMET
****
check if knot has symmetries in Murasugi's method.

c.f. Murasugi, K.,"On periodic knots."
______Comment.Math.Helv.,46(1971),162-174.

$K$ be a knot, $K'$ a knot obtain from $K$ dividing by knot symmetry of period $p$. $p$:prime.

$A$ :Alexander polynomial of K. $Ad$ :Alexander polynomials of K'.

Then: (a) $ A = Ad^{p} * Ri^{p-1} $ in $ Z_p<t>$ and (b) $Ad | A$ in $Z<t>$. where $R_i = 1 + t + t^2 + t^3 +....+ t^(i-1)$ , $gcd(i,p)=1$ .

Search pair p and polynomial Ad which admit (a),(b). So knot K can have period p.

(1) If A=1 then p:=every prime, Ad:=1. So display "p=0".

Let p:prime. (Set p from prime table and check followings.) (2) Let $A_p$ be $A$ in $Z_p<t>$. $A_p$ be $A (mod) Z_p$. If $A_p$=1 then let $Ad_p=1$ (on $Z_p$), ($Ad_p is $Ad (mod) Z_p$
_
(3) search $R_i$ s.t. $R_i^{p-1} | Ap$ (in $Z_p<t>$). Let $Aq := Ap/Ri^(p-1)$. (in $Z_p<t>$ ) $Aq$ is $Ad^{p}$ in (a).
_
(Aftre here compute in the form of Conway polynomial in this program) (4) Search $Ad_p$ s.t. $Ad_p^p = Aq$ (in $Z_p<t>$ ). ( Now, $Ad_p$ satisfy (a).)
_
Make $Ad$ satisfy (b), and $Ad_p = Ad (mod) Z_p$ (5) Check if $Ad | A$ in Z<t> .




Public


Readonly Shareds
shared ApolyP:POLYS_INTI;
**** Alexander mod prime
shared Cdp1:POLYS_INTI;
**** degree of Deg0, DegDP. copy of CpS0, Cdp.
shared Cpoly:POLYS_INTI;
**** Conway
shared CpolyDP,CpolyQ:POLYS_INTI;
shared CpolyDP,CpolyQ:POLYS_INTI;
shared DegCDP:INT;
shared DegM:INT;
****
shared DegR:INT;
shared PolyD:POLYS_INTI;
**** poly. of K' on Z
shared RPoly:POLYS_INTI;
**** - 1 1 1 1 1 ....1
shared TblS:POLYS_INTI;
**** work table TblS,---DegM
shared bottom:INTI;
shared cyclic:BOOL;
shared prime:INTI;
****

Writable Shareds
shared ApolyP:POLYS_INTI;
**** Alexander mod prime
shared Cdp1:POLYS_INTI;
**** degree of Deg0, DegDP. copy of CpS0, Cdp.
shared Cpoly:POLYS_INTI;
**** Conway
shared CpolyDP,CpolyQ:POLYS_INTI;
shared CpolyDP,CpolyQ:POLYS_INTI;
shared DegCDP:INT;
shared DegM:INT;
****
shared DegR:INT;
shared PolyD:POLYS_INTI;
**** poly. of K' on Z
shared RPoly:POLYS_INTI;
**** - 1 1 1 1 1 ....1
shared TblS:POLYS_INTI;
**** work table TblS,---DegM
shared bottom:INTI;
shared cyclic:BOOL;
shared prime:INTI;
****

Features
Alex2Conway(a:POLYS_INTI,out p:POLYS_INTI)
**** Convert from Alexander poly. to compressed Conway poly. On knot, Deg is even.On Conway poly. s be z^2 , and set p[s],
Conway2Alex(c:POLYS_INTI, out a:POLYS_INTI)
**** convert from compressed Conway poly. to Alexander poly. On knot, Deg is even.On Conway poly. s be z^2 , and set p[s],
Filter
Filter_SetPoly(d:INT)
****
_Recursive_call_--
We compute as Conway poly. So, must convert Alexander polynomial to Conway poly.
Find
Restore(Cdp:POLYS_INTI)
**** When Cdp( Conway polynomial for K') is known in Zp[t]. Re-construct Conway polynomial in Z[t]. Note that Cdp|Cpoly in Z[t].
Restore_CheckDiv
**** Check if Ad | Aq ( PolyD | Cpoly) and display.
Restore_SetPolyD:BOOL
**** true if Setset polynomial Cd=PolyD[] from TblS[]Cdp1(x) : Conway poly. of K' mod Z_px=i+bottom.Reconstruct PolyD Conway poly. for K' using TblS[x]=(Cd(x)-Cdp1)DIV prime.
Restore_SetVal(ite:INT)
**** change x= ite+bottom. And compute Cpoly(x), Cdp1(x). Make Cd(x) and TblS[ite]=(Cd(x)-Cdp1(x)) DIV prime.
TestSym(apoly:POLYS_INTI)
**** Main function. Test if apoly has Murasugi's condition on prime.
divide_Zp(Poly0,PolyDv:POLYS_INTI, out PolyQ:POLYS_INTI):BOOL
**** true if PolyDv | Poly0. PolyQ:=Poly0/PolyDv

The Sather Home Page