Function: Cliff5[sexp] - Clifford exponential in the Clifford algebra Cl(B)

Calling Sequence:

sexp(p,n);
sexp(p,n,K);

Parameters:

p - an expression of type 'numeric', 'cliscalar' or 'clipolynom'
n - non-negative integer
K - (optional) argument of type name, symbol, array, or matrix, or `&*`(numeric,{name,symbol,array,matrix})

Description:

Procedure 'sexp' computes Clifford exponential of a Clifford polynomial p in Cl(B) up to the order specified by the second argument n which is expected to be a nonnegative integer.

It can now accept optional argument of type name, symbol, matrix, or array, or `&*`(numeric,{name,symbol,array,matrix}).

Computations are performed modulo the minimal polynomial of p. The minimal polynomial of p is computed with the procedure climinpoly .

If n = 0 then the procedure returns 1 when p is of type 'numeric' or 'cliscalar' (see `type/cliscalar` ) and 'Id' when p is of type 'clipolynom' (see `type/clipolynom` ).

This procedure is much faster than two similar procedures cexp and cexpQ when n is larger than the degree d of the minimal polynomial of p. When n is smaller than or equal to d, procedures 'cexp' and 'cexpQ' are faster since then no minimal polynomial is computed.

It is not necessary that the form Q (or B) be defined.

Use 'wexp' to compute exterior exponential in Cl(B). See wexp for more help.

Examples:

> restart:with(Cliff5):

Example 1:

> p:=(e1+e3)*t;

[Maple Math]

> climinpoly(p);
climinpoly[K](p);
climinpoly[-K](p);

[Maple Math]

[Maple Math]

[Maple Math]

> degree(%,'x');

[Maple Math]

Since the degree of the minimal polynomial of p is 4, we will use procedure 'cexp' only when n <= 4; otherwise we will use the faster procedure 'sexp':

> s:=time():
p1:=sexp(p,3); #note the use of off-diagonal B entries
time()-s;

[Maple Math]
[Maple Math]

[Maple Math]

> s:=time():
p2:=cexp(p,3);
time()-s;

[Maple Math]
[Maple Math]

[Maple Math]

The same computation as above but with respect to a new form K:

> s:=time():
p1:=sexp(p,3,K); #note the use of off-diagonal B entries
time()-s;

[Maple Math]
[Maple Math]

[Maple Math]

> s:=time():
p2:=cexp(p,3,K);
time()-s;

[Maple Math]
[Maple Math]

[Maple Math]

> simplify(p1-p2);

[Maple Math]

>

Example 2: Let's see some additional examples in Cl(2,2). Since B will be assigned a numeric matrix, we will use cmulNUM for Clifford internal multiplication instead of cmulRS . The change will be made using procedure useproduct .

> useproduct(cmulNUM);

Warning, cmul will use cmulNUM; for help see pages ?cmul, ?Cliff5[intro], or ?cmulNUM

> B:=linalg[diag](1,1,-1,-1):
p:=e1we2+e1we3+e4: #define B and p

> climinpoly(p); #finding the minimal polynomial of p

[Maple Math]

> sexp(p,0);

[Maple Math]

> sexp(p,1);

[Maple Math]

> sexp(p,2);

[Maple Math]

> sexp(p,3);

[Maple Math]

> sexp(p,4);

[Maple Math]

> sexp(p,5);

[Maple Math]

Additional examples:

> sexp((e1+e2we3)*t,15);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> sexp(2*alpha,0);

[Maple Math]

> sexp(2*alpha,7);

[Maple Math]

> sexp(2*alpha*Id,10);

[Maple Math]

> sexp(.6,20);

[Maple Math]

>

See Also: Cliff5[climinpoly] , Cliff5[cexp] , Cliff5[wexp] , Cliff5[cexpQ]

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