Home Online Manual
Top
Back: syz (plural)
Forward: vdim (plural)
FastBack:
FastForward:
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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