Lift - 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]

  

Lift

  

lift a regular chain

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Lift(F, R, rc, e, m)

Parameters

F

-

list of polynomials of R

R

-

polynomial ring

rc

-

regular chain of R

e

-

positive integer or a variable of R

m

-

positive integer or a coefficient of R

Description

• 

The function Lift returns a lifted regular chain over R lifted from the regular chain rc.  That is, the output regular chain reduces every polynomial of F to zero over R as long as rc does so under an image of R. This command works for two types of images of R.  If R has characteristic 0, it lifts from an image of finite characteristic.  If R has finite characteristic, it lifts from an image with fewer variables.

• 

More precisely, if e is a positive integer, then the base field is assumed to be the field of rational numbers and rc reduces every polynomial of F modulo m, where m is greater than or equal to 2. If e is a variable, then the base field is assumed to be a prime field and rc reduces every polynomial of F modulo e-m, where e is a variable of R and m belongs to the base field.

• 

In both cases, F must be a square system, that is the number of variables of R is equal to the number of elements of F. In the former case, rc and e-m must form a zero-dimensional normalized regular chain which generates a radical ideal in R. In the latter case, rc must be a zero-dimensional normalized regular chain which generates a radical ideal in R modulo m.

• 

In the former case, the Jacobian matrix of F must be invertible modulo rc and e-m. In the latter case, the Jacobian matrix of F must be invertible modulo rc and m.

• 

The function uses Hensel lifting techniques. If e is a positive integer then e is used as an upper bound on the number of lifting steps.

• 

For the case where e is variable, FFT polynomial arithmetic is used. This implies that the ring R should satisfy the hypotheses of the commands from the FastArithmeticTools subpackage.

Examples

> 

with⁡RegularChains:

> 

with⁡ChainTools:

First we consider an example where coefficients are lifted.

> 

R≔PolynomialRing⁡x,y

R≔polynomial_ring

(1)
> 

sys≔x2+y2−1,y−2⁢x+7

sys≔x2+y2−1,y−2⁢x+7

(2)
> 

rc1≔Triangularize⁡sys,R,normalized=yes

rc1≔regular_chain

(3)
> 

Equations⁡rc11,R

2⁢x−y−7,5⁢y2+14⁢y+45

(4)
> 

R2≔PolynomialRing⁡x,y,7

R2≔polynomial_ring

(5)
> 

rc_mod≔Triangularize⁡sys,R2,normalized=yes

rc_mod≔regular_chain

(6)
> 

Equations⁡rc_mod1,R

x+3⁢y,y2+2

(7)
> 

rc2≔Lift⁡sys,R,rc_mod1,5,7

rc2≔regular_chain

(8)
> 

Equations⁡rc2,R

2⁢x−y−7,5⁢y2+14⁢y+45

(9)

Next we consider an example where a variable is lifted.

> 

R≔PolynomialRing⁡x,y,962592769

R≔polynomial_ring

(10)
> 

f≔y⁢x+1

f≔y⁢x+1

(11)
> 

Lift⁡f,R,Chain⁡x+1,Empty⁡R,R,y,1

x+1y

(12)

See Also

Equations

FastArithmeticTools

JacobianMatrix

MatrixInverse

PolynomialRing

RegularChains

Triangularize