PrimGCDΒΆ

amodgcd.spad line 67

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) reduces x modulo elements of lm.
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 if x is divisible by y in algebraic extension defined by lm. 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 by coeffs1
coeffs1: (SparseMultivariatePolynomial(Integer, Symbol), List Symbol) -> List SparseMultivariatePolynomial(Integer, Symbol)
coeffs1(x, lv) computes list of coefficients of x with respect to variables in lv. Variables in lv must be decreasing and bigger than all other variables of x.
lcx0: (SparseMultivariatePolynomial(Integer, Symbol), List Symbol) -> Record(lcx0lc: SparseMultivariatePolynomial(Integer, Symbol), lcx0m: SparseMultivariatePolynomial(Integer, Symbol))
lcx0(x, lv) computes leading coefficient of x and corresponding product of variables (monomial with coefficient 1) with respect to variables in lv Variables in lv must be decreasing and bigger than all other variables of x.
lcz: (SparseMultivariatePolynomial(Integer, Symbol), Symbol) -> Record(lczlc: SparseMultivariatePolynomial(Integer, Symbol), k: Integer)
lcz(x, z) computes leading coefficient and degree of x with respect to variable z.