  | ### 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.2, 2023, generated by texi2html.