class POLYS_INTI < $IS_LT{POLYS_INTI},$STR |
---|
$STR | $IS_LT{_} | $IS_EQ |
attr arr: ARRAY{R}; .. Included as arr |
---|
attr arr: ARRAY{R}; .. Included as arr |
---|
shared divmodForce0:BOOL; .. Included as divmodForce0 |
---|
shared r_0:R; .. Included as r_0 |
---|
shared r_1:R; .. Included as r_1 |
---|
shared divmodForce0:BOOL; .. Included as divmodForce0 |
---|
shared r_0:R; .. Included as r_0 |
---|
shared r_1:R; .. Included as r_1 |
---|
is_SqrFree:BOOL .. Included as POLYS_is_SqrFree |
---|
squareFreeDecomposition:ARRAY{SAME} .. Included as POLYS_squareFreeDecomposition |
---|
S_poly_PID(g:SAME):SAME |
---|
S_poly_PID_L2(g:SAME):SAME |
---|
**** | S in Z<x>. Erase lowest term. |
S_poly_PID_L3(g:SAME):SAME |
---|
**** | S in Z<x> |
aget(i:INT): R .. Included as aget |
---|
allocate(d:INT):SAME .. Included as allocate |
---|
**** | degree "d" |
array:ARRAY{R} .. Included as array |
---|
aset(i:INT, v:R) .. Included as aset |
---|
clear .. Included as clear |
---|
compare(other:SAME):INT .. Included as compare |
---|
**** | <=>: -1 if "<", 0 if "=", 1 if ">" . |
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)) |
copy:SAME .. Included as copy |
---|
countSolution(a,b:INTI , countRedundancy:BOOL):INT |
---|
create(a:ARRAY{R}):SAME .. Included as create |
---|
create(c:R): SAME .. Included as create |
---|
**** | same as create(c,0) |
create(c:R,d:INT): SAME .. Included as create |
---|
**** | c*x^(d) |
create: SAME .. Included as create |
---|
**** | same as create(r_0,c) |
deep_copy:SAME .. Included as deep_copy |
---|
degree:INT .. Included as degree |
---|
derivative(n:INT):SAME .. Included as derivative |
---|
**** | n-th derivative |
derivative:SAME .. Included as derivative |
---|
div(other:SAME): SAME .. Included as div |
---|
divmod(force0:BOOL, divisor:SAME, out q:SAME, out r:SAME) .. Included as divmod |
---|
**** | R be field or PID "force0" be true to force "0" at head of remainder. true: continuous field e.g.FLT,FLTD, CPX,CPXD... false: PID or discrete field or RAT e.g. INT,INTI,RAT,finite field |
divmod(divisor:SAME, out q:SAME, out r:SAME) .. Included as divmod |
---|
divmod_Zp(p:INTI, divisor:SAME, out q:SAME, out r:SAME) |
---|
**** | as Zp coefficient polynomial. |
evenly_divides(o:SAME):BOOL .. Included as evenly_divides |
---|
**** |
__self|o._True_if_self_evenly_divides_`o'. |
exp_gen_func(a:ARRAY{R}):SAME .. Included as exp_gen_func |
---|
**** | exponential generating function |
extended_gcd(a:ARRAY{SAME},out factor:ARRAY{SAME}):SAME .. Included as extended_gcd |
---|
**** | multi GCD. return GCD g. g = a . factor |
extended_gcd(o:SAME,out f1: SAME, out f2:SAME):SAME .. Included as extended_gcd |
---|
**** | gcd = self*f1 + o*f2 |
extended_gcd_Zp(prime:INTI,o:SAME, out f1:SAME, out f2:SAME):SAME |
---|
factorize:ARRAY{SAME} |
---|
gcd(a:ARRAY{SAME}):SAME .. Included as gcd |
---|
**** | multi GCD. return GCD of elements of a[]. |
gcd(o:SAME):SAME .. Included as gcd |
---|
gcd_Zp(prime:INTI, o:SAME):SAME |
---|
**** | Euclidean algorithm. |
gcd_coeff:INTI |
---|
**** | gcd of coefficients |
gen_func(a:ARRAY{R}):SAME .. Included as gen_func |
---|
**** | generating function. |
init |
---|
integral(n:INT):SAME .. Included as integral |
---|
**** | integral n-times |
integral:SAME .. Included as integral |
---|
is_SqrFree(prime:INTI):BOOL |
---|
is_SqrFree:BOOL |
---|
is_eq(other:SAME): BOOL .. Included as is_eq |
---|
is_eq(arg: $OB): BOOL .. Included as is_eq |
---|
**** | Overloaded version of the is_eq routine that works with an argument of any type. If the type of the 'arg' is not the same as they type of 'self' then return false. Otherwise, deletegate to the 'real' is_eq(SAME):BOOL routine |
is_lt(other:SAME): BOOL .. Included as is_lt |
---|
**** |
____expr1_<_expr2_____expr1.is_lt(expr2) return degree<other.degree; |
is_one:BOOL .. Included as is_one |
---|
is_zero: BOOL .. Included as is_zero |
---|
lc: R .. Included as lc |
---|
**** | lc: leading coefficient |
lcm(o:SAME):SAME .. Included as lcm |
---|
lcm_coeff:INTI |
---|
**** | lcm of of coefficients |
low_deg:INT .. Included as low_deg |
---|
**** | (lowest degree of non-zero term) or 0. |
lp:SAME .. Included as lp |
---|
**** | leading power product |
lt:SAME .. Included as lt |
---|
**** | leading term |
mindeg:INT .. Included as mindeg |
---|
**** | minimum degree of non-zero term |
minus(other:INT):SAME .. Included as minus |
---|
minus(other:R):SAME .. Included as minus |
---|
minus(other:SAME):SAME .. Included as minus |
---|
mod(other:ARRAY{SAME}):SAME .. Included as mod |
---|
**** | mod for multi division |
mod(n:INTI):SAME |
---|
**** | mod for each coeff. |
mod(other:SAME): SAME .. Included as mod |
---|
mod_lt(other:ARRAY{SAME}):SAME |
---|
**** | mod for leading term |
mod_n(n:INTI):SAME |
---|
**** | mod( -n/2< coeff <= n/2 ) for each coeff. |
monic .. Included as monic |
---|
**** | make monic i.e. f(x/lc)*(lc^(degree-1)) |
negate:SAME .. Included as negate |
---|
normalize .. Included as normalize |
---|
**** | destructive. ### Note that arr[0]==0 for polynomial "0". |
normalize:SAME .. Included as normalize |
---|
one:SAME .. Included as one |
---|
plus(other:INT):SAME .. Included as plus |
---|
plus(other:R):SAME .. Included as plus |
---|
plus(other:SAME):SAME .. Included as plus |
---|
polys_rat:POLYS_RAT |
---|
pow(power:INT): SAME .. Included as pow |
---|
pow(power:INTI): SAME .. Included as pow |
---|
pseudo_monic(c:R) .. Included as pseudo_monic |
---|
**** | f(x/c)*(c^degree) |
remove_gcd |
---|
**** | self/gcd_coeff |
remove_gcd:SAME |
---|
**** | self/gcd_coeff |
reverseDeg:SAME .. Included as reverseDeg |
---|
shift0:SAME .. Included as shift0 |
---|
shift_deg(d:INT):SAME .. Included as shift_deg |
---|
**** | self * (x^d) |
squareFreeDecomposition:ARRAY{SAME} |
---|
str(format:STR, v:STR, r:BOOL): STR .. Included as str |
---|
**** | needed "is_lt" in R. format: "text","tex", "texm", "prog" v: variable, r: switch of order. true:decreasing order. false:increasing order |
str:STR .. Included as str |
---|
substitute(x:R):R .. Included as substitute |
---|
substitute(x:SAME):SAME .. Included as substitute |
---|
times(other:INT):SAME .. Included as times |
---|
times(other:R):SAME .. Included as times |
---|
times(other:SAME): SAME .. Included as times |
---|
x:SAME .. Included as x |
---|
zero:SAME .. Included as zero |
---|