1 | initial version |
As I pointed out in the comments, the issue is that exponentiation is defined neither in the polynomial ring, nor for the algebra generators. While the first issue can be alleviated by switching to symbolic variables A
and B
, the second issue is more trickier. A possible approach here can be introducing a symbolic variable E
for exp(i)
and defining our own exponentiation function:
A,B,E = var('A B E')
def myexp(x):
return prod(E^c if t else exp(c) for t,c in x)
Q = QuadraticForm(SR,1,[-1]);
Cl.<i> = CliffordAlgebra(Q);
myexp(A+B*i)*myexp(A-B*i)
This gives e^(2*A)
as expected.