### 7.3.12 liftstd (plural)

`Syntax:`
`liftstd (` ideal_expression`,` matrix_name `)`
`liftstd (` module_expression`,` matrix_name `)`
`liftstd (` ideal_expression`,` matrix_name`,` module_name `)`
`liftstd (` module_expression`,` matrix_name`,` module_name `)`
`Type:`
ideal or module
`Purpose:`
returns a left Groebner basis of an ideal or module and a left transformation matrix from the given ideal, resp. module, to the Groebner basis.
That is, if `m` is the ideal or module, `sm` is the left Groebner basis of `m`, returned by `liftstd`, and `T` is a left transformation matrix, then `sm=module(transpose(transpose(T)*transpose(matrix(m))))`.
If `m` is an ideal, `sm=ideal(transpose(T)*transpose(matrix(m)))`.
In an optional third argument the left syzygy module will be returned.
`Example:`
 ```LIB "ncalg.lib"; def A = makeUsl2(); setring A; // this algebra is U(sl_2) ideal i = e2,f; option(redSB); option(redTail); matrix T; ideal j = liftstd(i,T); // the Groebner basis in a compact form: print(matrix(j)); ==> f,2h2+2h,2eh+2e,e2 print(T); // the transformation matrix ==> 0,f2, -f,1, ==> 1,-e2f+4eh+8e,e2,0 ideal tj = ideal(transpose(T)*transpose(matrix(i))); size(ideal(matrix(j)-matrix(tj))); // test for 0 ==> 0 module S; ideal k = liftstd(i,T,S); // the third argument S = std(S); print(S); // the syzygy module ==> -ef-2h+6,-f3, ==> e3, e2f2-6efh-6ef+6h2+18h+12 ```
See ideal (plural); ring (plural); std (plural).

User manual for Singular version 4.3.2, 2023, generated by texi2html.