ModularEvaluationCategory(PT, MP)ΒΆ

evalut.spad line 178

ModularEvaluationCategory(PT, MP) defines interface to evaluation functions for ModularAlgebraicGcd2.

degree: (MP, Symbol) -> NonNegativeInteger
degree(p, v) computes degree of p with respect to v.
eval1: (MP, Symbol, Integer, Record(prime: Integer, eval1coeffbuf: U32Vector, eval1expbuf: SortedExponentVector)) -> MP
eval1(p, v, r, pss) evaluates p with respect to single variable v at r. pss is global state.
eval1a: (MP, Integer, Record(prime: Integer, eval1coeffbuf: U32Vector, eval1expbuf: SortedExponentVector)) -> Integer
eval1a(p, r, pss) evaluates p at r. p must be polynomial in single variable. pss is global state.
ldegree: (PT, Symbol) -> NonNegativeInteger
ldegree(p, v) computes degree of p with respect to v. v must be one of auxiliary variables and must be lexicographically first variable which appears in p. Moreover, p must be a polynomial in v (not a rational function).
modpreduction: (MP, Integer) -> MP
modpreduction(p, q) reduces all coefficients of p modulo q.
subst_vars: (PT, List Symbol, List Symbol) -> MP
subst_vars(p, lv1, lv2) substitutes variables from list lv2 for corresponding variables from lv1.
trial_division: (MP, Polynomial Integer, List MP, Symbol, List Symbol) -> Boolean
trial_division(p, q, lm, v, lz) checks if p is divisible by q. lm is a list of defining equations for algebraic parameters, v is main variable, lz is the list of algebraic parameters.