### 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.4.1, 2025, generated by texi2html.