Function: Bigebra[`&gco`] - Graßmann co-product

Calling Sequence:

t1 := &gco(t2,i)
t1 := &gco(c1)

Parameters:

t2 : a tensorpolynom (an element of `type/tensorpolynom` ) of rank not less than i in each factor
i : the slot number (firts slot is from the left is 1) on which the co-product acts

c1 is a Clifford polynom (an element of one of these types: `type/clibasmon` , `type/climon` , `type/clipolynom` )

Output:

t1 : is a tensorpolynom.

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:

A Graßmann algebra leads naturally to a multi-vector space /\V. This space has a dual which we call (\/V)^* = \/V^* . There is a natural pairing between one-vectors and co-one-vectors which can be extended to a graded scalar valued (target/domain is the ring k) action of co-multi-vectors on multivectors called pairing: < A, B> : \/V^* x /\V --> k. Let us denote the Graßmann product of co-multi-vectors by \/V^*, i.e using a &v (vee)-product. One obtains by categorial duality (i.e. by reversing arrows in commutative diagrams) the coproduct [Maple Math] . For two-vectors this reads:

< a1 \/ a2 | b > = < a1 &t a2 |
[Maple Math] (b) >
= < a1 &t a2 |
[Maple Math] (b)_(1i) &t (b)_(2i) >
=
[Maple Math] < a1 | (b)_(1i)> < a2 | (b)_(2i) >

Since the co-vectors a1 and a2 are arbitrary co-multi-vectors, this defines the coproduct on an arbitrary multi-vector Grassmann element b in /\V.
If a1 is a co-one-multivector, this turns out to be the Laplace row expansion of the pairing, see [8,3] . The same consideration can be done for columns, i.e. moving the wegde /\ from right to left in the pairing to generate a Grassmann co-product on co-multi-vectors. Since we denote currently vectors and co-vectors by the same vector symbol `e`, the user has to take care of the fact in which slot of a tensor a vector or co-vector resides, see EV .

Expanded in our basis, the above formalism leads to a combinatorial formula using split-sums and shuffles which are internally computed in BIGEBRA, [4] . From this construction, one concludes that the Graßmann co-product enjoys the following properties:

The Graßmann co-product is associative, ( [Maple Math] &t Id) [Maple Math] = (Id &t [Maple Math] ) [Maple Math] .

The Graßmann co-product is graded co-commutative [Maple Math] = [Maple Math] [Maple Math] , where [Maple Math] is the graded switch .

The Graßmann co-product is linear.

Together with the Graßmann wedge product one proves this structure to be a Graßmann Hopf gebra, which posesses an antipode .

The Graßmann Hopf gebra is an bi-augmented bi-connected Hopf algebra, which is also called a noninteracting Hopf gebra [3] .

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

Some examples of Graßmann co-products of Clifford polynomials:

> &gco(e1);
&gco(&t(e1),1); # the same, since
e1 = drop_t( &t(e1) );

[Maple Math]

[Maple Math]

[Maple Math]

> &gco(e1we2);
&gco(a*e3);
&gco(e1we2+a*e3);

[Maple Math]

[Maple Math]

[Maple Math]

Acting on tensor slots:

> &gco(&t(e1,e2),1);
&gco(&t(e1,e2),2);

[Maple Math]

[Maple Math]

> &gco(Id);
&gco(%,1);

[Maple Math]

[Maple Math]

> &gco(a*&t(e1,e2)+b*&t(e3,e4),1);

[Maple Math]

Checking co-associativity:

> &gco(&gco(&t(e1we2),1),1);
&gco(&gco(&t(e1we2),1),2);
evalb(%-%%=0);

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

Checking graded co-commutativity:

> g1:=&gco(e1we2+e1we2we3);
g2:=gswitch(g1,1);

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]

> evalb(%-%%=0);

[Maple Math]

Note however that acting on different slots of the same tensor gives different answers:

> res1:=&gco(&t(e1,e2),1);
res2:=&gco(&t(e1,e2),2);
printf("res1 - res2 =0 is %s !",evalb(tcollect(res1-res2)=0));

[Maple Math]

[Maple Math]

res1 - res2 =0 is false !

If the index is not in the range of the tensor slots, an error occurs, so the user has to account for that.

> &gco(&t(e1,e2),3);

Error, (in &gco) invalid subscript selector

>

See Also: Bigebra[`&cco`] , Bigebra[`&t`] , Bigebra[drop_t] , Bigebra[`&map`]


(c) Copyright December-16-1999, by Rafal Ablamowicz & Bertfried Fauser, all rights reserved.
Last modified: December 26, 2001/BF/RA.