### 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) considered as a field
      ==> // 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<x,y,z> 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.4.1, 2025, generated by texi2html.