(Disambiguation: for division of matrices, which is thought of as lifting one homomorphism over another, see instead Matrix // Matrix. For lifting a map between modules to a map between their free resolutions, see extend.)
The ring R should be one of the base rings associated with the ring of f. An error is raised if f cannot be lifted to R.
The first example is lifting from the fraction field of R to R.
lift(4/2,ZZ) |
R = ZZ[x]; |
f = ((x+1)^3*(x+4))/((x+4)*(x+1)) |
lift(f,R) |
Another use of lift is to take polynomials in a quotient ring and lift them to the polynomial ring.
A = QQ[a..d]; |
B = A/(a^2-b,c^2-d-a-3); |
f = c^5 |
lift(f,A) |
jf = jacobian ideal f |
lift(jf,A) |
Elements may be lifted to any base ring, if such a lift exists.
use B; |
g = (a^2+2*a-3)-(a+1)^2 |
lift(g,A) |
lift(g,QQ) |
lift(lift(g,QQ),ZZ) |
The functions lift and substitute are useful to move numbers from one kind of coefficient ring to another.
lift(3.0,ZZ) |
lift(3.0,QQ) |
A continued fraction method is used to lift a real number to a rational number, whereas promote uses the internal binary representation.
lift(123/2341.,QQ) |
promote(123/2341.,QQ) |
factor oo |
For numbers and ring elements, an alternate syntax with ^ is available, analogous to the use of _ for promote.
.0001^QQ |
.0001_QQ |