Singular Manual: twostd (plural)

  | ### 7.3.29 twostd (plural) `Syntax:` `twostd(` ideal_expression`)`; `Type:` ideal `Purpose:` returns a two-sided Groebner basis of an input `Note: Treating the input as a set of` two-sided generators of a two-sided ideal `T`, two-sided Groebner basis is a left (and a right) Groebner basis of `T`. (see std). `Remark:` There are algebras with no two-sided ideals except 0 and the whole algebra (like Weyl algebras). `Example:`
      LIB "ncalg.lib";
      def U = makeUsl2(); // this algebra is U(sl_2)
      setring U;
      ideal i= e^3, f^3, h^3 - 4*h;
      option(redSB);
      option(redTail);
      ideal I = std(i);
      print(matrix(I)); // print a compact presentation of I
      ==> h3-4h,fh2-2fh,eh2+2eh,2efh-h2-2h,f3,e3
      ideal J = twostd(i);
      // print a compact presentation of J:
      print(matrix(ideal(J[1..6]))); // first 6 gen's
      ==> h3-4h,fh2-2fh,eh2+2eh,f2h-2f2,2efh-h2-2h,e2h+2e2
      print(matrix(ideal(J[7..size(J)]))); // the rest of gen's
      ==> f3,ef2-fh,e2f-eh-2e,e3
      // compute the set of elements present in J but not in I
      ideal K = NF(J,I);
      K = K+0; // simplify K
      print(matrix(K));
      ==> f2h-2f2,e2h+2e2,ef2-fh,e2f-eh-2e

User manual for Singular version 4.4.1, 2025, generated by texi2html.