### 7.3.2 bracket

`Syntax:`
`bracket (` poly_expression, poly_expression `)`
`bracket (` poly_expression, poly_expression, int_expression `)`
`Type:`
poly
`Purpose:`
Computes the Lie bracket `[p,q]=pq-qp` of the first polynomial with the second. Uses special routines, based on the Leibniz rule. If the third argument is `N>1`, then the right normed bracket `[a,[...[a,b]]]]` will be computed.
`Note:`
effective both with PLURAL and LETTERPLACE rings.
`Example:`
 ```ring r=(0,Q),(x,y,z),Dp; // first, let us do a Plural example minpoly=Q^2-Q+1; matrix C[3][3]; matrix D[3][3]; C[1,2]=Q2; C[1,3]=1/Q2; C[2,3]=Q2; D[1,2]=-Q*z; D[1,3]=1/Q*y; D[2,3]=-Q*x; def R=nc_algebra(C,D); setring R; R; ==> // coefficients: QQ[Q]/(Q2-Q+1) ==> // number of vars : 3 ==> // block 1 : ordering Dp ==> // : names x y z ==> // block 2 : ordering C ==> // noncommutative relations: ==> // yx=(Q-1)*xy+(-Q)*z ==> // zx=(-Q)*xz+(-Q+1)*y ==> // zy=(Q-1)*yz+(-Q)*x // this is a quantum deformation of U(so_3), // where Q is a 6th root of unity poly p=Q^4*x2+y2+Q^4*z2+Q*(1-Q^4)*x*y*z; // p is the central element of the algebra p=p^3; // any power of a central element is central poly q=(x+Q*y+Q^2*z)^4; // take q to be some big noncentral element size(q); // check how many monomials are in big polynomial q ==> 28 bracket(p,q); // check p*q=q*p ==> 0 // a more common behaviour of the bracket follows: bracket(x+Q*y+Q^2*z,z); ==> (Q+1)*xz+(Q+1)*yz+(Q-1)*x+(Q-1)*y kill R; setring r; // Now consider an example for Letterplace LIB "freegb.lib"; ring R = freeAlgebra(r,5); // F with deg left lex ordering bracket(x,y); ==> x*y-y*x bracket(x,y,2); ==> x*x*y-2*x*y*x+y*x*x bracket(x,y,3); ==> x*x*x*y-3*x*x*y*x+3*x*y*x*x-y*x*x*x bracket(z^2,x+Q*y,2); ==> x*z*z*z*z+(Q)*y*z*z*z*z-2*z*z*x*z*z+(-2*Q)*z*z*y*z*z+z*z*z*z*x+(Q)*z*z*z*\ z*y ```

User manual for Singular version 4.3.2, 2023, generated by texi2html.