Function: Bigebra[`&cco`] - Clifford co-product
Calling Sequence:
t1 = &cco(p1,i)
t1 = &cco(c1)
Parameters:
p1 : a tensorpolynom (element of
`type/tensorpolynom`
) of rank not less than i in each factor
i : the slot number (first slot from the left is 1) on which the co-product acts
c1 : a Clifford polynom (element of one of these types: `type/clipolynom` , `type/climon` , `type/clibasmon` )
Output:
t1 : a tensor polynom
Global vaiables:
BI_Id - set by make_BI_Id
dim_V - the dimension of the one-vector space V
WARNING:
The Clifford co-product takes only one 'factor' (and one parameter), the
infix form
makes no sense with this function and yields
unpredictable nonsense
.
Description:
Like the Clifford product, Clifford co-product needs a bilinear form defined on the base space of the Graßmann algebra. In the case of the co-product, this form is tied to co-one-vectors, so it is called co-scalar product. Since we deal with finite dimensional spaces, the dimension of the covector space is dim_V, the same as for the vector space V used by CLIFFORD . Hence we use the global variable dim_V , which has to be assigned. The matrix of the Clifford co-product w.r.t. the co-one-vector basis (in abuse of language also denoted by e1, see remarks in EV ) is stored in BI. The elements of BI can be assigned freely, without any restrictions or relations to the matrix of the Clifford scalar product B. BI can be singular or nonsymmetric or even zero, in which case the Clifford co-product reduces to the Graßmann co-product .
The Clifford co-product is based on Rota-Stein co-cliffordization
[2,3,7,8]
. This is the categorial dual of the Rota-Stein cliffordization of the Graßmann algebra which leads to the Clifford co-product. In Sweedler notation, the formula for Clifford co-product is:
_[&c](x) = (wedge &t wedge)(Id &t BI_(1) &t BI_(2) &t Id)
(x)
where
_[&c] is the Clifford co-product,
is the
Grassmann co-product
. The factor BI_Id = BI_(1) &t BI_(2) (in fact internally represented by a list of type[ [sign,BI_(1),BI_(2)] , ... ]) has to be precomputed using
make_BI_Id
.
The Clifford co-product is associative by construction, but it is not (graded) co-commutative.
Clifford co-products lead to non-connected co-modules, see Milnore and Moore . This is an important difference with Graßmann co-products [3,6] .
There is a sort of asymmetry in the BIGEBRA package, since the Clifford product is not (yet) computed using Rota-Stein cliffordization. The Clifford product is simply taken from CLIFFORD. This may cause problems if one tries to compute with q-deformed Clifford co-products. However, q-deformed Graßmann co-products are available by setting the global variable _CLIENV[_QDEF_PREFACTOR] e.g. to -q.
TO DO:
The Clifford product has to be based on Rota-Stein cliffordization and a q-wedge product has to be created.
Examples:
> restart:_CLIENV[_SILENT]:=`true`:with(Bigebra):
Warning, new definition for drop_t
Warning, new definition for gco_d_monom
Warning, new definition for gco_monom
Warning, new definition for init
>
dim_V:=2:
BI:=linalg[matrix](dim_V,dim_V,[a,b,c,d]): #co-scalarproduct
m1:=make_BI_Id(): #remember this result in m1
The Clifford co-product of Clifford polynomials needs no slot index:
>
c1:= &cco(e1);
c2:= &cco(&t(e1),1); # the same, &t(e1) = e1
c3:= &cco(&t(e1),2); # the same, the slot is ignored here
Reduction to the Graßmann co-product is obtained by letting all parameters of the co-scalarproduct go to zero:
>
subs(a=0,b=0,c=0,d=0,m1); ## &cco(Id) -> &gco(Id)
&gco(Id);
subs(a=0,b=0,c=0,d=0,c2); ## &cco(e1) -> &gco(e1)
&gco(e1);
One can either change the co-product, or substitute the general parameters to get the result for another co-scalarproduct.
>
BI:=linalg[matrix](dim_V,dim_V,[1,b,b,1]): #new co-scalarproduct
make_BI_Id():
Compute once more &cco(e1) and compare it with the substituted result:
>
c4:=&cco(e1);
c5:=subs(a=1,b=b,c=b,d=1,c1);
>
&cco(Id);
subs(a=1,b=b,c=b,d=1,m1);
Reduction to the Grassmann co-product as a test:
>
subs(a=0,b=0,c=0,d=0,m1); ## &cco(Id) -> &gco(Id)
&gco(Id);
subs(a=0,b=0,c=0,d=0,c2); ## &cco(e1) -> &gco(e1)
&gco(e1);
Co-associativitiy of the Clifford co-product:
>
&cco(&cco(&t(e1),1),1);
&cco(&cco(&t(e1),1),2);
> simplify(tcollect(%-%%));
Note however that acting on different slots of the same tensor gives different answers:
>
res1:=&cco(&t(e1,e2),1);
res2:=&cco(&t(e1,e2),2);
print(`res1 - res2 = 0 is `,evalb(tcollect(res1-res2)=0));
If the index is not in the range of the tensor slots, an error occurs so the user has to account for that.
> &cco(&t(e1,e2),3);
Error, (in &cco) invalid subscript selector
>
See Also: Bigebra[`&gco`] , Bigebra[`&t`] , Bigebra[drop_t]
(c) Copyright December-16-1999, by Rafal Ablamowicz & Bertfried Fauser, all rights reserved.
Last modified: December 26, 2001/BF/RA.