# Singular

### 7.3.2 bracket

`Syntax:`
`bracket (` poly_expression, poly_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.
`Example:`
 ```ring r=(0,Q),(x,y,z),Dp; 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 ```