RegularChains[FastArithmeticTools]
NormalizePolynomialDim0
normalize a polynomial w.r.t a 0-dim regular chain
Calling Sequence
Parameters
Description
Examples
NormalizePolynomialDim0(f, rc, R)
R
-
a polynomial ring
rc
a regular chain of R
f
polynomial of R
The command NormalizePolynomialDim0 returns a normalized form of f w.r.t. rc, that is, a polynomial q which is associated to f modulo rc, such that q is normalized w.r.t. rc.
rc is zero-dimensional regular chain, and f together with rc forms a zero-dimensional regular chain.
Moreover R must have a prime characteristic p such that FFT-based polynomial arithmetic can be used for this actual computation. The higher the degrees of f and rc are, the larger must be e such that 2e divides p−1. If the degree of f or rc is too large, then an error is raised.
with⁡RegularChains:
with⁡FastArithmeticTools:
with⁡ChainTools:
p≔962592769:
vars≔y,x:
R≔PolynomialRing⁡vars,p:
We consider two bivariate polynomials and want to compute their common solutions
f1≔x⁢y2+y+1+2:
f2≔x+1⁢y2+y+1+x3+x+1:
We first compute their subresultant chain using FFT techniques
SCube≔SubresultantChainSpecializationCube⁡f1,f2,y,R,1
SCube≔subresultant_chain_specialization_cube
We deduce their resultants
r2≔ResultantBySpecializationCube⁡f1,f2,x,SCube,R
r2≔x8+2⁢x6+962592767⁢x5+962592766⁢x4+962592767⁢x3+962592766⁢x2+4⁢x+4
We observe below that no root of r2 cancels the leading coefficients of f1 or f2. Hence, any roots of r2 can be extended into a solution of the system by a GCD computation.
Gcd⁡r2,x⁢x+1modp
1
We define the regular chain consisting of r2
rc≔Chain⁡r2,Empty⁡R,R
rc≔regular_chain
We compute the GCD of f1 and f2 modulo r2
g2≔RegularGcdBySpecializationCube⁡f1,f2,rc,SCube,R
g2≔x3+y2⁢x+y⁢x+y2+2⁢x+y+2,regular_chain,x3+y2⁢x+y⁢x+y2+2⁢x+y+2,regular_chain
We normalize this GCD w.r.t. r2 which leads to a simpler expression with one as leading coefficient
NormalizePolynomialDim0⁡g211,g212,R
x3+y2+x+y
See Also
NormalForm
NormalFormDim0
NormalizeRegularChainDim0
ReduceCoefficientsDim0
RegularChains
Download Help Document