### 7.8.7 modulo (letterplace)

`Syntax:`
`Syntax:`
`modulo (` ideal_expression`,` ideal_expression `)`
`modulo (` module_expression`,` module_expression `)`
`Type:`
module
`Purpose:`
computes the kernel of the bimodule homomorphism from the free bimodule (determined in basering) to its factor-bimodule modulo the second argument. The first argument determines the homomorphism via images of the canonical free bimodule generators.
If `option(returnSB)` is set, a Groebner basis is returned, otherwise a generating set.
`Example:`
 ```LIB "freegb.lib"; ring r = 0,(x,y,z),dp; ring R = freeAlgebra(r,7,2); // free bimodule of rank 2 ideal I = x*y*z - z*y*x; I = twostd(I); I; ==> I[1]=z*y*x-x*y*z modulo(y,twostd(0)); // shows the canonical generator of the kernel ==> _[1]=ncgen(1)*y*gen(1)-y*ncgen(1)*gen(1) // which can be interpreted as (1 otimes y - y otimes 1) module M = modulo(y, I); print(M); // as we see (z E y - y E z) generates the kernel ==> ncgen(1)*y-y*ncgen(1),z*ncgen(1)*x-x*ncgen(1)*z // of bimodule homomorphism sending E to y ```
See ideal; lift (letterplace); liftstd (letterplace); module; ncgen; option; syz (letterplace).

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