class POLYM_INTI < $IS_LT{POLYM_INTI},$STR


Ancestors
$STR $IS_LT{_} $IS_EQ



Public


Readable Attributes
attr monomials:ARRAY{MONOMIAL{R}}; .. Included as monomials
**** Polynomial is sequence of Monomials.

Writable Attributes
attr monomials:ARRAY{MONOMIAL{R}}; .. Included as monomials
**** Polynomial is sequence of Monomials.

Readonly Shareds
shared divmodForce:BOOL; .. Included as divmodForce
shared r_0:R; .. Included as r_0
shared r_1:R; .. Included as r_1

Writable Shareds
shared divmodForce:BOOL; .. Included as divmodForce
shared r_0:R; .. Included as r_0
shared r_1:R; .. Included as r_1

Features
S_poly(g:SAME):SAME .. Included as S_poly
**** coefficient is field
S_poly_PID(g:SAME):SAME
S_poly_Zp(prime:INTI, g:SAME):SAME
coeff(varId:CARD, deg:INT):SAME .. Included as coeff
**** coefficient of degree "deg" as a "var" variable polynomial.
coeff(varName:STR, deg:INT):SAME .. Included as coeff
**** coefficient of degree "deg" as a "var" variable polynomial.
coeff_to_one:SAME .. Included as coeff_to_one
copy:SAME .. Included as copy
create(a:ARRAY{MONOMIAL{R}}):SAME .. Included as create
create(c:R): SAME .. Included as create
**** c as polynomial.
create(c:R,x:STR,d:INT):SAME .. Included as create
**** c*x^d
create(m:MONOMIAL{R}):SAME .. Included as create
create(p:SAME):SAME .. Included as create
create(x:STR):SAME .. Included as create
**** 1x^1. assume "x" is var_name
create: SAME .. Included as create
**** 0
derivative(vars:ARRAY{CARD}):SAME .. Included as derivative
**** vars is Array of var id
derivative(nlist:ARRAY{STR}):SAME .. Included as derivative
**** nlist is array of "var name"
div(other:ARRAY{SAME}):ARRAY{SAME} .. Included as div
div(other:R):SAME .. Included as div
div(other:SAME):SAME .. Included as div
divmod(divisors:ARRAY{SAME}, out q:ARRAY{SAME}, out r:SAME) .. Included as divmod
**** Multiple division.
divmod(divisor:R, out q:SAME, out r:SAME) .. Included as divmod
divmod(divisor:SAME, out q:SAME, out r:SAME) .. Included as divmod
divmod_Zp(prime:INTI,divisors:ARRAY{SAME},out q:ARRAY{SAME},out r:SAME)
**** Do mod(prime) before use this. Multiple division.
divmod_Zp_lt(prime:INTI,divisors:ARRAY{SAME},out q:ARRAY{SAME},out r:SAME)
**** Do mod(prime) before use this. Multiple division.
divmod_lt(divisors:ARRAY{SAME}, out q:ARRAY{SAME}, out r:SAME) .. Included as divmod_lt
**** Multiple division for leading term.
gcd_coeff_num:INTI
**** gcd of numerator of coefficients as Rational
gcd_term:MONOMIAL{R} .. Included as gcd_term
**** gcd of power product of terms
init
inspect:STR .. Included as inspect
**** [term][term]...
integral(vars:ARRAY{CARD}):SAME .. Included as integral
**** vars is Array of var id
integral(nlist:ARRAY{STR}):SAME .. Included as integral
**** nlist is array of "var name".
is_eq(o:SAME):BOOL .. Included as is_eq
is_eq(other : $OB) : BOOL .. Included as is_eq
**** This is the generic equality predicate. c.f. the class $IS_EQ
is_lt(o:SAME):BOOL .. Included as is_lt
is_one:BOOL .. Included as is_one
is_unit:BOOL .. Included as is_unit
is_zero:BOOL .. Included as is_zero
lc:R .. Included as lc
**** leading coefficient
lcm_term:MONOMIAL{R} .. Included as lcm_term
**** lcm of power product of terms
lp:MONOMIAL{R} .. Included as lp
**** leading power product
lt:MONOMIAL{R} .. Included as lt
**** leading term
maxdeg(varId:CARD):INT .. Included as maxdeg
maxdeg(name:STR):INT .. Included as maxdeg
mindeg(varId:CARD):INT .. Included as mindeg
mindeg(name:STR):INT .. Included as mindeg
minus(n:CARD):SAME .. Included as minus
minus(n: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(n:INTI):SAME
mod(other:SAME):SAME .. Included as mod
monomial_sort_func(m1,m2:MONOMIAL{R}):BOOL .. Included as monomial_sort_func
negate:SAME .. Included as negate
normalize:SAME .. Included as normalize
**** remove 0 coefficient and normalize each term
one: SAME .. Included as one
plus(n:CARD):SAME .. Included as plus
plus(n:INT):SAME .. Included as plus
plus(other:R):SAME .. Included as plus
plus(other:SAME):SAME .. Included as plus
polym_rat:POLYM_RAT
pow(power:CARD):SAME .. Included as pow
pow(power:INT):SAME .. Included as pow
pow(power:INTI):SAME .. Included as pow
**** calculate expr1^expr2 following to binary notation of "power".
sort .. Included as sort
**** sort decerasing order ">". i.e. higher term is top.sf::=bind(monomial_sort_func(_,_)); monomials.insertion_sort_by(sf);
str(lib : LIBCHARS) : STR .. Included as str
str(format:STR):STR .. Included as str
str:STR .. Included as str
substitute(list:MAP{CARD,SAME}):SAME .. Included as substitute
**** list is Hash of "var id" => val
substitute(nlist:MAP{STR,SAME}):SAME .. Included as substitute
**** list is Hash of "var name" => val
times(n:CARD):SAME .. Included as times
times(n:INT):SAME .. Included as times
times(other:R):SAME .. Included as times
times(other:SAME):SAME .. Included as times
vars:ARRAY{STR} .. Included as vars
**** return var names in the polynomial.
zero: SAME .. Included as zero


Private

nameArr_to_idArr(narr: ARRAY{STR}):ARRAY{CARD} .. Included as nameArr_to_idArr
nameMap_to_idMap(nlist:MAP{STR,SAME}):MAP{CARD,SAME} .. Included as nameMap_to_idMap
plus_merge(other:SAME):SAME .. Included as plus_merge
**** plus Assume self and other are sorted by ">".

The Sather Home Page