RegularChains[ChainTools]
Lift
lift a regular chain
Calling Sequence
Parameters
Description
Examples
Lift(F, R, rc, e, m)
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
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.
withRegularChains:
withChainTools:
First we consider an example where coefficients are lifted.
R≔PolynomialRingx,y
R≔polynomial_ring
sys≔x2+y2−1,y−2x+7
rc1≔Triangularizesys,R,normalized=yes
rc1≔regular_chain
Equationsrc11,R
2x−y−7,5y2+14y+45
R2≔PolynomialRingx,y,7
R2≔polynomial_ring
rc_mod≔Triangularizesys,R2,normalized=yes
rc_mod≔regular_chain
Equationsrc_mod1,R
x+3y,y2+2
rc2≔Liftsys,R,rc_mod1,5,7
rc2≔regular_chain
Equationsrc2,R
Next we consider an example where a variable is lifted.
R≔PolynomialRingx,y,962592769
f≔yx+1
Liftf,R,Chainx+1,EmptyR,R,y,1
x+1y
See Also
Equations
FastArithmeticTools
JacobianMatrix
MatrixInverse
PolynomialRing
RegularChains
Triangularize
Download Help Document