class POLYM_INTI < $IS_LT{POLYM_INTI},$STR |
---|
$STR | $IS_LT{_} | $IS_EQ |
attr monomials:ARRAY{MONOMIAL{R}}; .. Included as monomials |
---|
**** | Polynomial is sequence of Monomials. |
attr monomials:ARRAY{MONOMIAL{R}}; .. Included as monomials |
---|
**** | Polynomial is sequence of Monomials. |
shared divmodForce:BOOL; .. Included as divmodForce |
---|
shared r_0:R; .. Included as r_0 |
---|
shared r_1:R; .. Included as r_1 |
---|
shared divmodForce:BOOL; .. Included as divmodForce |
---|
shared r_0:R; .. Included as r_0 |
---|
shared r_1:R; .. Included as r_1 |
---|
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 |
---|
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 ">". |