## 3.20 twostd

`Syntax:`
`twostd(` ideal_expression`)`;
`Type:`
ideal or module
`Purpose:`
returns a left Groebner basis of the two-sided ideal, generated by the input, treated as a set of two-sided generators.

`Example:`
 ```ring r=0,(x,y,z),dp; matrix d[3][3]; d[1,2]=-z; d[1,3]=2x; d[2,3]=-2y; ncalgebra(1,d); // it is algebra U(sl_2) int N=3; poly f=1; for(int n=0;n<=N;n++) { f=f*(z+N-2*n); } f; ==> z4-10z2+9 ideal i=x^(N+1),y^(N+1),f; option(redSB); option(redTail); ideal I=std(i); I; ==> I[1]=z4-10z2+9 ==> I[2]=yz3-3yz2-yz+3y ==> I[3]=xz3+3xz2-xz-3x ==> I[4]=2xyz2-z3-2xy-3z2+z+3 ==> I[5]=y4 ==> I[6]=x4 ==> I[7]=y3z2-4y3z+3y3 ==> I[8]=x3z2+4x3z+3x3 ==> I[9]=4xy3z-4xy3-3y2z2+3y2 ==> I[10]=4x3yz+4x3y-9x2z2-36x2z-27x2 ==> I[11]=2x3y3-9x2y2z-9x2y2+36xyz+3z3+36xy-39z-36 ideal J=twostd(i); J; ==> J[1]=z4-10z2+9 ==> J[2]=yz3-3yz2-yz+3y ==> J[3]=xz3+3xz2-xz-3x ==> J[4]=y2z2-4y2z+3y2 ==> J[5]=2xyz2-z3-2xy-3z2+z+3 ==> J[6]=x2z2+4x2z+3x2 ==> J[7]=y3z-3y3 ==> J[8]=xy2z-xy2-yz2+y ==> J[9]=x2yz+x2y-xz2-4xz-3x ==> J[10]=x3z+3x3 ==> J[11]=y4 ==> J[12]=2xy3-3y2z+3y2 ==> J[13]=2x2y2-4xyz-4xy+z2+4z+3 ==> J[14]=2x3y-3x2z-9x2 ==> J[15]=x4 ```
`Remark:`
There are algebras with no two-sided ideals (like Weyl algebras).

User manual for Singular version 2-1-2, July 2003, generated by texi2html.