RegularizeDim0 - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


RegularChains[FastArithmeticTools]

  

RegularizeDim0

  

test the regularity of a polynomial w.r.t. a 0-dim regular chain

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

RegularizeDim0(f, rc, R)

RegularizeDim0(f, rc, R, isSquareFree)

Parameters

R

-

a polynomial ring

f

-

a polynomial of R

rc

-

a regular chain of R

isSquareFree

-

boolean value (optional)

Description

• 

Returns a list of pairs fi,rci where fi is a polynomial and rci is a regular chain such that the regular chains rci form a triangular decomposition of rc in the sense of Kalkbrener, each polynomial fi is equal to f modulo the saturated ideal of rci, for all i, and  each  polynomial fi is either zero or invertible modulo the saturated ideal of rci, for all i.

• 

The above specification is similar to that of the command Regularize. However the algorithm of the command RegularizeDim0 makes use of modular techniques and asymptotically fast polynomial arithmetic. Consequently, when both commands apply, the latter one often outperforms the former.

• 

The function call RegularizeDim0(p, rc, R) makes two other assumptions. First rc must be a zero-dimensional regular chain. See the RegularChains package and its subpackage ChainTools for these notions.

• 

Secondly, 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 e must be, such that 2e divides p1.  If the degree of  f or rc is too large, then an error is raised.

• 

If isSquareFree is true then assume that rc is a square-free regular chain, that is, its saturated ideal is radical.

Examples

withRegularChains:

withChainTools:

withFastArithmeticTools:

p is a large prime number

p962592769:

varsx1,x2,x3,x4:

RPolynomialRingvars,p:

Define a random dense regular chain and a polynomial.

Nnopsvars:

d5:

degrees3,4,5,8:

rcRandomRegularChainDim0vars,degrees,p:

prandpolyvars,dense,degree=d+randmodpmodp:

ttime:

res1RegularizeDim0p,rc,R

res171x12x23+16x12x22x3+83x12x22x4+962592709x12x2x32+962592686x12x2x3x4+962592721x12x2x42+37x12x33+5x12x32x4+962592752x12x3x42+962592709x1x23x3+962592735x1x23x4+44x1x22x32+962592767x1x22x3x4+962592722x1x22x42+962592697x1x2x33+962592672x1x2x32x4+10x1x2x3x42+65x1x2x43+50x1x34+962592709x1x33x4+7x1x32x42+34x1x3x43+52x1x44+962592736x23x32+21x23x3x4+97x23x42+89x22x33+962592753x22x32x4+962592700x22x3x42+87x22x43+x2x34+962592759x2x33x4+962592684x2x32x42+18x2x3x43+962592747x2x44+962592722x34x4+962592767x33x42+31x32x43+10x3x44+962592720x45+962578812x12x22+9381x12x2x3+556x12x2x4+962589820x12x32+5964x12x3x4+962589337x12x42+892x1x23+962585240x1x22x3+19070x1x22x4+4231x1x2x32+962589948x1x2x3x4+962590124x1x2x42+962590330x1x33+1110x1x32x4+90x1x3x42+962591972x1x43+15464x23x3+5768x23x4+962587427x22x32+962589589x22x3x4+962588964x22x42+962588730x2x33+962591904x2x32x4+962589463x2x3x42+962588440x2x43+2863x34+962583397x33x4+8218x32x42+962587139x3x43+962591933x44+962099056x12x2+513519x12x3+961688036x12x4+531043x1x22+962353937x1x2x3+451667x1x2x4+21178x1x32+962093493x1x3x4+361086x1x42+961732889x23+513650x22x3+961839250x22x4+277009x2x32+962427116x2x3x4+275697x2x42+962387348x33+383270x32x4+962280827x3x42+291891x43+871332243x12+929352501x1x2+707150581x1x3+343331851x1x4+40519050x22+128018783x2x3+726074106x2x4+960581285x32+181853712x3x4+678057550x42+267999103x1+261080429x2+747627767x3+576065319x4+549411107,regular_chain

(1)

timet

0.760

(2)

We can see that Regularize is slower than RegularizeDim0.

ttime:

res2Regularizep,rc,R

res2rc,

(3)

timet

20.997

(4)

These additional calculations show that the two returned regular chains are equivalent (i.e. they have the same saturated ideals).

EqualSaturatedIdealsres112,res211,R

true

(5)

NormalFormres111p,res211,R

0

(6)

NormalFormDim0res111p,res211,R

0

(7)

See Also

ChainTools

Inverse

IsRegular

RegularChains

Regularize