7.8.6 liftstd (letterplace)

`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 Groebner basis of a two-sided ideal or a bimodule and the transformation matrix from the given ideal, resp. module, to the Groebner basis from the output.
That is, if `m` is the module (or ideal), `sm` the submodule (or ideal), and `T` the transformation matrix returned by lift, then the substitution of each `ncgen(i)` in `T` by the `m[i]` delivers a matrix, say `N`. The `i`-th generator of `sm` is equal to the sum of elements in the `i`-th column of `N`.
In an optional third argument the syzygy bimodule will be returned.
`Example:`
 ```LIB "freegb.lib"; ring r = 0,(x,y),(c,Dp); ring R = freeAlgebra(r, 8, 2); ideal I = x*y*x + 1; matrix T; module S; ideal SI = liftstd(I,T,S); print(matrix(SI)); ==> x*y-y*x,y*x*x+1 print(matrix(testLift(I,T))); // test for the result of lift ==> x*y-y*x,y*x*x+1 S; // the bisyzygy module of I ==> S[1]=[x*y*ncgen(1)*x*y+y*x*x*y*ncgen(1)-y*x*ncgen(1)*y*x-ncgen(1)*y*x*x*y\ +y*ncgen(1)-ncgen(1)*y] ==> S[2]=[x*x*y*ncgen(1)*x-x*ncgen(1)*y*x*x-x*ncgen(1)+ncgen(1)*x] ==> S[3]=[x*y*ncgen(1)*x*x*y+y*x*x*x*y*ncgen(1)-y*x*x*ncgen(1)*y*x-ncgen(1)*y\ *x*x*x*y+x*y*ncgen(1)+y*x*ncgen(1)-ncgen(1)*x*y-ncgen(1)*y*x] ==> S[4]=[x*y*x*y*ncgen(1)*x-ncgen(1)*y*x*y*x*x+y*ncgen(1)*x-ncgen(1)*y*x] testSyz(I,S); ==> _[1]=0 ==> _[2]=0 ==> _[3]=0 ==> _[4]=0 ```
See ideal; lift (letterplace); syz (letterplace); twostd (letterplace).

User manual for Singular version 4.3.1, 2022, generated by texi2html.