RegularChains[FastArithmeticTools]
ReduceCoefficientsDim0
reduce the coefficients of a polynomial w.r.t a 0-dim regular chain
Calling Sequence
Parameters
Description
Examples
ReduceCoefficientsDim0(f, rc, R)
R
-
a polynomial ring
rc
a regular chain of R
f
polynomial of R
The command ReduceCoefficientsDim0 returns the normal form of f w.r.t. rc in the sense of Groebner bases.
rc is assumed to be a normalized zero-dimensional regular chain and all variables of f but the main one must be algebraic w.r.t. rc. See the subpackage ChainTools for more information about these concepts.
R must have a prime characteristic p such that FFT-based polynomial arithmetic can be used for this 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.
The algorithm relies on the fast division trick (based on power series inversion) and FFT-based multivariate multiplication.
with⁡RegularChains
AlgebraicGeometryTools,ChainTools,ConstructibleSetTools,Display,DisplayPolynomialRing,Equations,ExtendedRegularGcd,FastArithmeticTools,Inequations,Info,Initial,Intersect,Inverse,IsRegular,LazyRealTriangularize,MainDegree,MainVariable,MatrixCombine,MatrixTools,NormalForm,ParametricSystemTools,PolynomialRing,Rank,RealTriangularize,RegularGcd,RegularizeInitial,SamplePoints,SemiAlgebraicSetTools,Separant,SparsePseudoRemainder,SuggestVariableOrder,Tail,Triangularize
with⁡FastArithmeticTools
BivariateModularTriangularize,IteratedResultantDim0,IteratedResultantDim1,NormalFormDim0,NormalizePolynomialDim0,NormalizeRegularChainDim0,RandomRegularChainDim0,RandomRegularChainDim1,ReduceCoefficientsDim0,RegularGcdBySpecializationCube,RegularizeDim0,ResultantBySpecializationCube,SubresultantChainSpecializationCube
with⁡ChainTools
Chain,ChangeOfCoordinates,ChangeOfOrder,Construct,Cut,DahanSchostTransform,Dimension,Empty,EqualSaturatedIdeals,EquiprojectableDecomposition,Extend,ExtendedNormalizedGcd,IsAlgebraic,IsEmptyChain,IsInRadical,IsInSaturate,IsIncluded,IsPrimitive,IsStronglyNormalized,IsZeroDimensional,IteratedResultant,LastSubresultant,Lift,ListConstruct,NormalizeRegularChain,NumberOfSolutions,Polynomial,Regularize,RemoveRedundantComponents,SeparateSolutions,Squarefree,SquarefreeFactorization,SubresultantChain,SubresultantOfIndex,Under,Upper
variables≔x,y,z;p≔957349889
variables≔x,y,z
p≔957349889
sys≔5⁢y4−3,−20⁢x+y−z,−x5+y5−3⁢y−1
sys≔−20⁢x+y−z,5⁢y4−3,−x5+y5−3⁢y−1
R≔PolynomialRing⁡variables,p
R≔polynomial_ring
We solve a system in 3 variables and 3 unknowns
lrc≔Triangularize⁡sys,R
lrc≔regular_chain
Its triangular decomposition consists of only one regular chain
rc≔lrc1
rc≔regular_chain
Equations⁡rc,R
z12+94127136⁢z8+691135635⁢z7+676458799⁢z4+195425386⁢z3+326553470⁢z2+574327669⁢x+27352854⁢z13+673373922⁢z9+410681381⁢z8+817312291⁢z5+308837227⁢z4+32655347⁢z3+116876413⁢z+880926729,z12+94127136⁢z8+691135635⁢z7+676458799⁢z4+195425386⁢z3+326553470⁢z2+574327669⁢y+547057079⁢z13+927802747⁢z9+821042762⁢z8+352188797⁢z5+237219820⁢z4+326553470⁢z3+805850702⁢z+386236578,z20+957349886⁢z16+944549889⁢z15+886639826⁢z12+458149889⁢z11+156173647⁢z10+568152312⁢z8+120112423⁢z7+434195336⁢z6+398220483⁢z5+536874419⁢z4+604689895⁢z3+446611758⁢z2+237311560⁢z+665813406
The polynomial in x is not normalized
px≔Polynomial⁡x,rc,R
px≔x⁢z12+27352854⁢z13+94127136⁢x⁢z8+673373922⁢z9+691135635⁢x⁢z7+410681381⁢z8+676458799⁢x⁢z4+817312291⁢z5+195425386⁢x⁢z3+308837227⁢z4+326553470⁢x⁢z2+32655347⁢z3+574327669⁢x+116876413⁢z+880926729
Indeed its initial is not a constant in R
ipx≔Initial⁡px,R
ipx≔z12+94127136⁢z8+691135635⁢z7+676458799⁢z4+195425386⁢z3+326553470⁢z2+574327669
We compute the inverse of the initial of px w.r.t. rc Note that the Inverse will not fail if its first argument is not invertible w.r.t. its second one; computations will split if a zero-divisor is met. This explains the non-trivial signature of the Inverse function
linv≔Inverse⁡ipx,rc,R
linv≔174020324⁢z19+197335754⁢z18+7625943⁢z17+198840137⁢z16+378204215⁢z15+815531348⁢z14+358244196⁢z13+680868023⁢z12+248247024⁢z11+563170682⁢z10+678017442⁢z9+232546371⁢z8+493675934⁢z7+717866054⁢z6+661798200⁢z5+439140691⁢z4+372603338⁢z3+113779500⁢z2+110488854⁢z+493921163,1,regular_chain,
We get the inverse the initial of px w.r.t. rc
invipx≔linv111
invipx≔174020324⁢z19+197335754⁢z18+7625943⁢z17+198840137⁢z16+378204215⁢z15+815531348⁢z14+358244196⁢z13+680868023⁢z12+248247024⁢z11+563170682⁢z10+678017442⁢z9+232546371⁢z8+493675934⁢z7+717866054⁢z6+661798200⁢z5+439140691⁢z4+372603338⁢z3+113779500⁢z2+110488854⁢z+493921163
We multiply px by the inverse of its initial and reduce the product w.r.t rc. The returned polynomial is now normalized w.r.t. rc. Note that only the polynomials of rc in y and z are used during this reduction process.
ReduceCoefficientsDim0⁡invipx⁢px,rc,R
703897958⁢z19+637307906⁢z18+745731651⁢z17+21899044⁢z16+658962013⁢z15+899050902⁢z14+77671904⁢z13+921629286⁢z12+870449919⁢z11+122035854⁢z10+791154398⁢z9+547395190⁢z8+624024465⁢z7+710904034⁢z6+4427709⁢z5+954705258⁢z4+221310023⁢z3+584706443⁢z2+x+332923317⁢z+743851316
See Also
ChainTools
NormalForm
NormalFormDim0
NormalizePolynomialDim0
NormalizeRegularChainDim0
RegularChains
Download Help Document