class POLYS_INTI < $IS_LT{POLYS_INTI},$STR |
---|
$STR | $IS_LT{_} | $IS_EQ |
constructionHensel(g,h:SAME, n,prime,pn:INTI, out g1,out h1:SAME) |
---|
**** | Hensel's construction. Input: self,g,h,n,prime,pn s.t. self==g*h (mod pn), pn=prime^n Output: g,h s.t. f=g*h (mod prime^(n+1)) |
countSolution(a,b:INTI , countRedundancy:BOOL):INT |
---|
divmod_Zp(p:INTI, divisor:SAME, out q:SAME, out r:SAME) |
---|
**** | as Zp coefficient polynomial. |
extended_gcd_Zp(prime:INTI,o:SAME, out f1:SAME, out f2:SAME):SAME |
---|
factorize:ARRAY{SAME} |
---|
gcd_Zp(prime:INTI, o:SAME):SAME |
---|
**** | Euclidean algorithm. |
gcd_coeff:INTI |
---|
**** | gcd of coefficients |
init |
---|
is_SqrFree(prime:INTI):BOOL |
---|
is_SqrFree:BOOL |
---|
lcm_coeff:INTI |
---|
**** | lcm of of coefficients |
mod(n:INTI):SAME |
---|
**** | mod for each coeff. |
mod_n(n:INTI):SAME |
---|
**** | mod( -n/2< coeff <= n/2 ) for each coeff. |
polys_rat:POLYS_RAT |
---|
remove_gcd |
---|
**** | self/gcd_coeff |
remove_gcd:SAME |
---|
**** | self/gcd_coeff |
squareFreeDecomposition:ARRAY{SAME} |
---|