ChangeOfCoordinates - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


RegularChains[ChainTools]

  

ChangeOfCoordinates

  

change of coordinate system for a regular chain

 

Calling Sequence

Parameters

Description

Examples

References

Compatibility

Calling Sequence

ChangeOfCoordinates(rc, R, M, V)

Parameters

rc

-

regular chain of R

R

-

polynomial ring

M

-

matrix

V

-

variable list

Description

• 

The command ChangeOfCoordinates returns a list dec2 of regular chains of R2 which forms a Kalkbrener decomposition of the same saturated ideal as rc, after applying to this ideal the linear change of coordinates defined by M and V.

• 

This linear change of coordinates maps the coordinates (given by the variables of the polynomial ring R) to the ordered variables given by V via the invertible linear transformation given by M.

• 

In cases where the change of coordinates is a permutation, it can also be performed by the ChangeOfOrder command.

• 

This command is part of the ChainTools package, so it can be used in the form ChangeOfCoordinates(..) only after executing the command with(RegularChains[ChainTools]).  However, it can always be accessed through the long form of the command by using RegularChains[ChainTools][ChangeOfCoordinates](..).

Examples

> 

with⁡RegularChains:with⁡ChainTools:

> 

F≔5⁢y4−3,20⁢x−y+z,x5−y5+3⁢y+1

F≔5⁢y4−3,20⁢x−y+z,x5−y5+3⁢y+1

(1)
> 

vars≔z,x,y

vars≔z,x,y

(2)

In the example below, we consider a change of coordinates which is given by a permutation matrix, hence, this example is a change of variable order.

> 

vars2≔x,y,z

vars2≔x,y,z

(3)
> 

M≔Matrix⁡0,1,0,0,0,1,1,0,0

M≔010001100

(4)
> 

R≔PolynomialRing⁡vars

R≔polynomial_ring

(5)
> 

dec≔Triangularize⁡F,R,normalized=yes

dec≔regular_chain

(6)
> 

rc≔dec1

rc≔regular_chain

(7)
> 

Display⁡rc,R

z+20⁢x−y=05⁢x5+12⁢y+5=05⁢y4−3=0

(8)
> 

dec2≔ChangeOfCoordinates⁡rc,R,M,vars2

dec2≔regular_chain,polynomial_ring

(9)
> 

rc2≔dec21

rc2≔regular_chain

(10)
> 

R2≔dec22

R2≔polynomial_ring

(11)
> 

Display⁡rc2,R2

12⁢x+5⁢z5+5=012⁢y+5⁢z5+240⁢z+5=03125⁢z20+12500⁢z15+18750⁢z10+12500⁢z5−59083=0

(12)
> 

dec0≔ChangeOfCoordinates⁡rc2,R2,LinearAlgebra:-MatrixInverse⁡M,vars

dec0≔regular_chain,polynomial_ring

(13)
> 

rc0≔dec01

rc0≔regular_chain

(14)
> 

Display⁡rc0,R

z+20⁢x−y=05⁢x5+12⁢y+5=05⁢y4−3=0

(15)
> 

EqualSaturatedIdeals⁡rc,rc0,R

true

(16)

Because this change of coordinates is a change of variable order, it can also be performed by the ChangeOfOrder command.

> 

rc3≔ChangeOfOrder⁡rc,R,R2

rc3≔regular_chain

(17)
> 

Display⁡rc3,R2

12⁢x+5⁢z5+5=012⁢y+5⁢z5+240⁢z+5=03125⁢z20+12500⁢z15+18750⁢z10+12500⁢z5−59083=0

(18)
> 

EqualSaturatedIdeals⁡rc2,rc3,R2

true

(19)

In the next example, we consider a change of coordinates which is not a change of variable order.

> 

M≔Matrix⁡0,1,0,1,0,−1,0,0,1

M≔01010−1001

(20)
> 

vars2≔X,Y,Z

vars2≔X,Y,Z

(21)
> 

R≔PolynomialRing⁡vars

R≔polynomial_ring

(22)
> 

dec≔Triangularize⁡F,R,normalized=yes

dec≔regular_chain

(23)
> 

rc≔dec1

rc≔regular_chain

(24)
> 

Display⁡rc,R

z+20⁢x−y=05⁢x5+12⁢y+5=05⁢y4−3=0

(25)
> 

dec2≔ChangeOfCoordinates⁡rc,R,M,vars2

dec2≔regular_chain,polynomial_ring

(26)
> 

rc2≔dec21

rc2≔regular_chain

(27)
> 

R2≔dec22

R2≔polynomial_ring

(28)
> 

Display⁡rc2,R2

20⁢X+Y−21⁢Z=05⁢Y5−25⁢Z⁢Y4+50⁢Z2⁢Y3−50⁢Z3⁢Y2+15⁢Y−38400003⁢Z−16000000=05⁢Z4−3=0

(29)
> 

dec0≔ChangeOfCoordinates⁡rc2,R2,LinearAlgebra:-MatrixInverse⁡M,vars

dec0≔regular_chain,polynomial_ring

(30)
> 

rc0≔dec01

rc0≔regular_chain

(31)
> 

Display⁡rc0,R

z+20⁢x−y=05⁢x5+12⁢y+5=05⁢y4−3=0

(32)
> 

EqualSaturatedIdeals⁡rc,rc0,R

true

(33)

References

  

Boulier, F.; Lemaire, F. and Moreno Maza, M. "PARDI!." Proc. ISSAC, 2001.

Compatibility

• 

The RegularChains[ChainTools][ChangeOfCoordinates] command was introduced in Maple 2020.

• 

For more information on Maple 2020 changes, see Updates in Maple 2020.

See Also

ChainTools

ChangeOfOrder

EqualSaturatedIdeals

PolynomialRing

Triangularize