|
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<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
|
|