Function: GTP[gradedprod] - compute a graded product of elements of the type 'tensorprod', 'gradedmonom', or 'gradedpolynom'

Calling Sequence:

gradedprod(p1,p2);
gradedprod(p1,p2,B1,B2,...,Br);

Parameters:

p1, p2 - graded polynomials of type GTP[`type/gradedpolynom`] of rank r

B1,B2,...,Br - (optional) sequence of r diagonal forms Bi, 1<=i<=r, where r is the tensor rank of p1 and p2

Description:

Procedure 'gradedprod' is an extension of GTP[prod] and computes a product of two graded polynomials in the graded tensor product Cl(B1) &t Cl(B2) &t ... &t Cl(Br) of r Clifford algebras Cl(B1), Cl(B2), ... , Cl(Br). In particular, it can handle also monomials.

When the optional sequence is used, Clifford products are computed component-wise on homogeneous elements in Cl(B1), Cl(B2), ... , Cl(Br) with a help of the procedure GTP[cmulB] . However, the Z2-gradation is taken into consideration in order to assure, for example, that elements of the type e1 &t 1 and 1 &t e1 belonging to Cl(B1) &t Cl(B2) anticommute.

For more information how multiplication is defined on homogeneous elements in the graded tensor product Cl(B1) &t Cl(B2) of two Clifford algebras Cl(B1) and Cl(B2) see GTP[gprod] . This definition is extended to tensors of higher ranks and then to non-homogeneous tensors by linearity.

When the optional sequence is not used, the default bilinear form B is applied. Thus, in this case, the r products will be computed in r different copies of Cl(B).

The ranks of p1 and p2 must be the same. They can be found with GTP[tensorrank] .

Examples:

> restart:with(Cliff5):with(GTP):eval(makealiases(5)):_prolevel:=true:

Warning, new definition for init

Example 1:

> B:=linalg[diag](1,-1,-1,-1):

> type(e1 &t e2,tensorprod),
type(2*(e1 &t e3),gradedmonom),
type(2*&t(e1,e2,e3),gradedmonom);
type((e1 &t e2) + b*(e1 &t e2) +e2 &t e3,gradedpolynom);

[Maple Math]

[Maple Math]

> gradedprod(e1 &t e2 &t e2,e1 &t e2 &t e2);tensorrank(%);

[Maple Math]

[Maple Math]

> gradedprod((e1 + e2) &t e2 &t Id,e1 &t e2 &t Id);tensorrank(%);

[Maple Math]

[Maple Math]

> p:=a*(Id &t Id &t e2)-3*(e1we2 &t e2 &t e2we1 )+b*4*(Id &t e2 &t e1)-
Id &t e1we2 &t e1we2;

[Maple Math]

> type(p,gradedpolynom);tensorrank(p);

[Maple Math]

[Maple Math]

> r1:=gradedprod(-a*p,2*p);

[Maple Math]
[Maple Math]

> tensorrank(r1);

[Maple Math]

The results from 'gradedprod' may be collected using GTP[gcollect] :

> gcollect(r1);

[Maple Math]
[Maple Math]

Example 2: In Example 1, r1 is an element of C(B) &t Cl(B) &t Cl(B) which is Z2-isomorphic with Cl(3B) where 3B is a quadratic form of signature (3,9). Now use different quadratic forms in each component. For example, consider p defined above as an element of the algebra Cl(B) &t Cl(B1) &t Cl(B2) where B1 and B2 are defined below.

> B1:=linalg[diag](-1,1,-1,1):B2:=linalg[diag](1,1,-1,1):

Now, we compute the graded product of p with p. Notice, that the result r2 is dfifferent than r1:

> r2:=gradedprod(p,p,B,B1,B2);

[Maple Math]
[Maple Math]

> gcollect(r2);

[Maple Math]

Example 3: Some more computations.

> p:=gradedprod(e1 &t e2,e2 &t e1we2-2*Pi*cos(alpha)*e1we2 &t Id -(a+b)/(a-b)*e2we1 &t e1);

[Maple Math]

> gcollect(p);

[Maple Math]

> p1:=&t(-Pi*cos(alpha)*e1,e2-e2we1,Id,2*e1);
p2:=&t(Id,e1-3*(a-b)/(a+c)*e1we2,e2we1,1);

[Maple Math]

[Maple Math]

> tensorrank(p1),tensorrank(p2);

[Maple Math]

> r3:=gradedprod(p1,p2,B2,B1,B,B2);

[Maple Math]
[Maple Math]

> gcollect(r3);

[Maple Math]
[Maple Math]

Thus, element r3 belongs to an algebra Z2-isomorphic with Cl(B2,B1,B,B2), that is, Cl(B3) where B3 is a quadratic form of signature (9,7).

>

S ee Also: GTP[`type/gradedmonom`] , GTP[gbasis] , GTP[`type/gradedodd`] , GTP[grade] , GTP[`&t`] , Cliff5[`type/tensorprod`] , GTP[`type/tensorrank`] , GTP[`type/gradedeven`]