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_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_reduce0 : (SparseMultivariatePolynomial(Integer, Symbol), SparseMultivariatePolynomial(Integer, Symbol), List(Symbol), Symbol) -> SparseMultivariatePolynomial(Integer, Symbol)

alg_reduce0(x, m, lv, z) performs single reduction step.

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.