class POLYS_RAT < $STR,$IS_LT{POLYS_RAT}
****
POLYS_RAT is PID.


Ancestors
$IS_LT{_} $IS_EQ $STR



Public


Readable Attributes
attr arr: ARRAY{R}; .. Included as arr

Writable Attributes
attr arr: ARRAY{R}; .. Included as arr

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

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

Features
aget(i:CARD): R .. Included as aget
aget(i:INT): R .. Included as aget
allocate(d:CARD):SAME .. Included as allocate
**** degree "d"
array:ARRAY{R} .. Included as array
aset(i:CARD, v:R) .. Included as aset
aset(i:INT, v:R) .. Included as aset
clear .. Included as clear
compare(other:SAME):INT
compare_deg(other:SAME):INT .. Included as compare_deg
**** <=>: -1 if "<", 0 if "=", 1 if ">" .
compare_lt(other:SAME):INT .. Included as compare_lt
**** <=>: -1 if "<", 0 if "=", 1 if ">" .
copy:SAME .. Included as copy
countSolution(a,b: R, countRedundancy:BOOL):CARD .. Included as countSolution
countSolution(a,b: R, infty_n,infty:BOOL , countRedundancy:BOOL):CARD .. Included as countSolution
**** count # of solution between a and b using Sturm's algorithm. infty_n : a is -infinity, infty : b is infinity R Rational,Float
countSturmChange(a:R,infty_n,infty:BOOL, sturm:ARRAY{SAME}):CARD .. Included as countSturmChange
create(a:ARRAY{R}):SAME .. Included as create
create(c:R): SAME .. Included as create
**** same as create(c,0)
create(c:R,d:CARD): SAME .. Included as create
**** c*x^(d)
create: SAME .. Included as create
**** same as create(r_0,c)
degree:INT .. Included as degree
derivative(n:CARD):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
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
gcd(a:ARRAY{SAME}):SAME .. Included as gcd
**** multi GCD. return GCD of elements of a[].
gcd(o:SAME):SAME .. Included as gcd
gcd_coeff_num:INTI
**** gcd of numerator of coefficients as Rational
gen_func(a:ARRAY{R}):SAME .. Included as gen_func
**** generating function.
getSturm(out gcd_s:SAME,out sturm:ARRAY{SAME}) .. Included as getSturm
init
integral(n:CARD):SAME .. Included as integral
**** integral n-times
integral:SAME .. Included as integral
is_SqrFree:BOOL
is_eq(other: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(other:SAME): BOOL .. Included as is_lt
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_den:INTI
**** lcm of of denominator of coefficients as Rarional
low_coeff:R .. Included as low_coeff
**** (lowest coefficient of non-zero term) or zero.
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
minus(other:CARD):SAME .. Included as minus
minus(other:INT):SAME .. Included as minus
minus(other:SAME):SAME .. Included as minus
minus(other:R):SAME .. Included as minus
mod(other:ARRAY{SAME}):SAME .. Included as mod
**** mod for multi division
mod(other:SAME): SAME .. Included as mod
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:CARD):SAME .. Included as plus
plus(other:INT):SAME .. Included as plus
plus(other:SAME):SAME .. Included as plus
plus(other:R):SAME .. Included as plus
polys_inti:POLYS_INTI
****
pow(power:CARD): SAME .. Included as pow
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)
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} .. Included as squareFreeDecomposition
str(lib : LIBCHARS) : STR .. Included as str
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:SAME):SAME .. Included as substitute
substitute(x:R):R .. Included as substitute
times(other:CARD):SAME .. Included as times
times(other:INT):SAME .. Included as times
times(other:SAME): SAME .. Included as times
times(other:R):SAME .. Included as times
x:SAME .. Included as x
zero:SAME .. Included as zero

The Sather Home Page