PrimGCDΒΆ
amodgcd.spad line 67 [edit on github]
This is unfinished package for computing primitive gcd
over algebraic extensions. Algebraic extension is defined by list of polynomial forming triangular system. Currently implemented is only trial division.
- alg_reduce0: (SparseMultivariatePolynomial(Integer, Symbol), SparseMultivariatePolynomial(Integer, Symbol), List Symbol, Symbol) -> SparseMultivariatePolynomial(Integer, Symbol)
alg_reduce0(x, m, lv, z)
performs single reduction step.
- alg_reduce: (SparseMultivariatePolynomial(Integer, Symbol), List SparseMultivariatePolynomial(Integer, Symbol), List Symbol, List Symbol) -> SparseMultivariatePolynomial(Integer, Symbol)
alg_reduce(x, lm, lv, lz)
reducesx
modulo elements oflm
.
- alg_trial_division: (SparseMultivariatePolynomial(Integer, Symbol), SparseMultivariatePolynomial(Integer, Symbol), List SparseMultivariatePolynomial(Integer, Symbol), List Symbol, List Symbol) -> Boolean
alg_trial_division(x, y, lm, lv, lz)
checks ifx
is divisible byy
in algebraic extension defined bylm
.lz
is list of algebraic variables,lv
is list of independent (polynomial) variables. Other variables serve as parameters.
- coeffs0: (SparseMultivariatePolynomial(Integer, Symbol), List Symbol, List SparseMultivariatePolynomial(Integer, Symbol)) -> List SparseMultivariatePolynomial(Integer, Symbol)
coeffs0(x, lv, lp)
is used bycoeffs1
- coeffs1: (SparseMultivariatePolynomial(Integer, Symbol), List Symbol) -> List SparseMultivariatePolynomial(Integer, Symbol)
coeffs1(x, lv)
computes list of coefficients ofx
with respect to variables inlv
. Variables inlv
must be decreasing and bigger than all other variables ofx
.
- lcx0: (SparseMultivariatePolynomial(Integer, Symbol), List Symbol) -> Record(lcx0lc: SparseMultivariatePolynomial(Integer, Symbol), lcx0m: SparseMultivariatePolynomial(Integer, Symbol))
lcx0(x, lv)
computes leading coefficient ofx
and corresponding product of variables (monomial with coefficient 1) with respect to variables inlv
Variables inlv
must be decreasing and bigger than all other variables ofx
.
- lcz: (SparseMultivariatePolynomial(Integer, Symbol), Symbol) -> Record(lczlc: SparseMultivariatePolynomial(Integer, Symbol), k: Integer)
lcz(x, z)
computes leading coefficient and degree ofx
with respect to variablez
.