M7R0 I,quandlesizef*6#%(QuandleG6#%"TG6#%)rememberG6"C$>8$-%(convertG6$9$%'matrixG@% 0-&%'linalgG6#%'rowdimG6#F--&F76#%'coldimGF:-%&prinfG6&Q*%s~%s~%s|+F*%&ERRORG%( quandleG%+dimensionsGOF5F*F*F*F*, I-CollectTermsf*6#'%$SSTG%%listG6'F'%%SSTsG%"iG%"jG%%tempGF*F*C&>F-7">8%-F/6$F1 %$setG?&8&FV%%trueGC%>8(""!?(8'"""F]o-%%nopsG6#F1Ffn@$/&F16#F\oFen>Fin,&FinF]oF ]oF]o>F-7$-%#opGF:7$FinFenOF-F*F*F*F*, I0co2TwistedInvarf*6&F%%%KnotG%&polymG'%"mG%'posintG680FT> 8*-F"F`o>8--%)tinverseG6$9&9'>8:-%(makeinvGF`o>8.,&-%$maxG6#-Fjo6#-%$mapG6$%$ab sG9%F]oF]oF]o>8=-%'degreeG6$Fhr%"tG@%29#""&>8,-%.co2TwistedSolG6%F1FhrFir>Fft&9 "6#Fdt?(F-FjnF]o,&FarF]o!""F]oFfn?(FVFjnF]oF_uFfn>&8+6$F-FV-%$sumG6$&Fft6%F-FVF en/Fen;Fjn,&F\tF]oF`uF]o?(81F]oF]o,&-F_o6#FjsF]oF]oF]oFfn>&876#F_v-%&arrayG6#;F ]oF_s>86)FarF_s?(8;FjnF]o,&F\wF]oF`uF]oFfnC(?(82F]oF]oF_sFfn>&&Fev6#F]o6#Fcw-%$ modG6$-%%iquoG6$F_w)Far,&FcwF]oF`uF]oFar?(83F]oF]oFavFfn@%2Fjn&Fjs6#Fbx?(84F]oF ]oF_sFfnC&@$/Fhx-Fis6#Fex>&&Fev6#,&FbxF]oF]oF]o6#Fhx&&FevFfx6#,&FhxF]oF]oF]o@$/ Fhx,&F\yF]oF]oF]o>F_y&F16$&Fey6#,&FhxF]oF`uF]o&FeyFcy@$2FhxF\y>F_yFaz@$2FjyFhx> F_yFaz?(FhxF]oF]oF_sFfnC&@$F[y>F_y&F[s6$FazFdy@$Fiy>F_yF^z@$Fcz>F_yFaz@$Ffz>F_y Faz>8/Fjn>89-%&evalmG6#,&FfwF]o&Fev6#F`vF`u>88-Fgu6$-Fis6#&Fg[l6#%#jjG/Ff\lFjv@ $/F_\lFjnC$?(85F]oF]oFavFfn@%2Fjn&Fjs6#F\]lC$>8<*&)Fdr-Fis6#,&-Fis6#F_]lF`uF]oF ]oF]o&Fdu6$&&FevF`]l6#Fi]l&F^^l6#,&Fi]lF]oF]oF]oF]o>Fe[l-Fjw6$,&Fe[lF]o-%$RemG6 %Fc]lFhrF`tF]oFirC$>Fc]l*&Fe]lF]o&Fdu6$&&Fev6#,&F\]lF]oF]oF]oF_^l&F`_lFa^lF]o>F e[l-Fjw6$,&Fe[lF]o-Fh^l6%,$Fc]lF`uFhrF`tF]oFir>F_r7$-Fjo6#F_r-Fjw6$-Fh^l6%Fe[lF hrF`tFirOF_rF*F*F*F*, I)tinversef*6$FapFcp6+FOFQ%"LGF\rF]q%$CofG%'lowdegG%(coffinvG%(tmppgcdGF(F*C0@% -%%typeG6$F1%(polynomG>F\o-F^t6$F1F`tC$-%'printfG6$Q$%s|+F*FCOF*>8)-&%0Polynomi alToolsG6#%0CoefficientListGFeal>FVF]o?(F*F]oF]oF*/&F]bl6#FVFjn>FV,&FVF]oF]oF]o @%3/-%$gcdG6$FfblFjsF]o/-F^cl6$&F]bl6#-F_o6#F]blFjsF]o%)continueGC$-Fhal6$Q#%sF *Q:ERROR,~Not~a~finite~ring.F*OF*>FarFjn?(F*F]oF]oF*/&F]bl6#,&FarF]oF]oF]oFjn>F arFcdl>FinFjn?(F-,&FarF]o""#F]oF]oFeclFfn>Fin,&FinF]o*&&F]blF:F]o)F`t,(F-F]oFar F`u!"#F]oF]oF`u>Fft-%'igcdexG6&FadlFjs.Fdq.%"rG@%0FftF]o-Fhal6'Q,%s~%d~%s~%dF*Q 8ERROR:~Inverse~dne~for~F*FadlQ$modF*Fjs>Fdu-Fjw6$FdqFjs>Fin*&FinF]oFduF]o>Fin- Fjw6$-Fh^l6%FinF1F`tFjsOFinF*F*F*F*, I(makeinvf*F$6'FOFPFQFh`lFjpF(F*C&>FinFbr>F\o-Fhv6%;Fjn,&FinF]oF`uF]oFaglFT?(F- FjnF]oFbglFfn?(FVFjnF]oFbglFfnC$>Fen&F1Feu>&F\o6$FVFenF-OF\oF*F*F*F*, I.co2TwistedSolf*6%F%FapFbp6?FgpFhpFipFO%#EQGF\qF[q%%varsG%"AG%'quanodG%"EG%$So lG%)Sol_listGFPFQF\rFi`l%(testsolGF[r%)TempPolyG%'TempEqG%)TempListGFfp%#LLG%#G GG%"bG%#ssG%)testsol2G%(soltrivGF(F*CD>FhxFT@%-F`al6$FjsFbal>Fbx-F^t6$FjsF`tC$F galOF*>Fhx-%'coeffsGFbv@%30-F^cl6$&FhxFgwFhrF]o0-F^cl6$&Fhx6#-F_oFcyFhrF]oC$-Fh al6$F[dlQ:ERROR:~Not~a~finite~ring.F*OF*Fgcl>FdrFbr>F]bl-Fhv6%;Fjn,&FdrF]oF`uF] oFc[m;Fjn,&FbxF]oF`uF]o>FinFT?(F\oFjnF]oFd[mFfn?(F_vFjnF]oFd[mFfn>&Far6$F\oF_v- Fgu6$*&&F]bl6%F\oF_vF[sF]o)F`tF[sF]o/F[sFe[m?(F-FjnF]oFd[mFfn?(FVFjnF]oFd[mFfn? (FenFjnF]oFd[mFfnC&>&F_\lFju,,*&F`tF]o&FarFeuF]oF]o&Far6$FgglFenF]o*&F`tF]o&Far 6$F-FenF]oF`u&Far6$&F1Fa]m&F1FjglF`u*&,&F]oF]oF`tF`uF]o&FarFjglF]oF]o>Fev-Fjw6$ -Fh^l6%Fi\mFjsF`tFhr>Fg[l-F_bl6$FevF`t?(F\oF]oF]o-F_o6#Fg[lFfnC$>&F_s6&F-FVFen, &F\oF]oF`uF]o&Fg[lFdo>Fin7$-Fjo6#Fin/Ff^mFjn?(F\oFjnF]oFd[mFfn?(F_vFjnF]oFf[mFf n>Fin7$F\_m/&F]bl6%F\oF\oF_vFjn>Fdu7#-%$seqG6$-Fi_m6$-Fi_m6$F`\m/F\oFc[m/F_vFc[ mFc\m>Fft-&F76#%*genmatrixG6$FinFdu>F\t-%'vectorG6$-F66#FftFjn>Fe[l-Fjw6$-%)Lin solveG6&FftF\tFeel8>Fhr>F_r-F/6$Fe[lFL>F_w-%'indetsGF^`l>F_w-F/6$F_wFL>F-.F->Fc wF]o>Fc]lFT?(F\oF]oF]o-F_o6#F_wFfnC%>F\w-Fjo6#&F_wFdo>Fc]l7$-Fjo6#Fc]l/&Fcam6#F \w*&&F-FhwF]o)F`t-F]x6$F\w*$FdrFhdlF]o>Fcw,&FcwF]oF]oF]o>F_r-%%subsG6$Fc]lF_r>F cwF]o?(F[sFjnF]oFf[mFfn?(F_vFjnF]oFd[mFfn?(F\oFjnF]oFd[mFfnC$>F`\m-%(collectG6$ &F_rFhwF`t>FcwFgcm>F\]l-Fgs6%Fjw-Fi[l6#,&-%#&*G6$FftFe[lF]oF\tF`uFhr>F\]l-F/6$F \]lFY>8?FT>8@Ffn?(F\oFjnF]oFd[mFfn?(F_vFjnF]oFd[mFfn?(F[sFjnF]oFf[mFfn@%/F`\mFj nFgclC$>Ffem%&falseG[@$/FfemFfn-Fhal6$F[dlQFdem7$-Fjo6#Fdem-Fjw6$-Fh^l6%-Fgs6%Fjw-Fcdm6$-%%evalGFdoF`tFhrFjsF`tFhr>F dem-F/6$FdemFY@%/Fdem<#/FjnFjnFgclC$-Fhal6$F[dlQ:Test~two~solutions~failedF*OF* @%/F\]l<#FjnOF]blC$-Fhal6$F[dlQMERROR:~co2TwistedSol~solutions~are~not~validF*O F*F*F*F*F*