From time to time when one works with operators, such as in Quantum mechanics, something like an exponential of the operator appears (this is also the case in many areas of Mathematics like group theory of differential geometry). This exponentiation of a matrix should be understood as the series expansion of the exponential.

SAGE knows how to do this exponentiation,

sage: reset() sage: var('a,b,c', domain=RR) sage: A = a*I*matrix([[0,1],[1,0]]) sage: B = b*I*matrix([[0,-I],[I,0]]) sage: C = c*I*matrix([[1,0],[0,-1]]) sage: A.exp() [1/2*(e^(2*I*a) + 1)*e^(-I*a) 1/2*(e^(2*I*a) - 1)*e^(-I*a)] [1/2*(e^(2*I*a) - 1)*e^(-I*a) 1/2*(e^(2*I*a) + 1)*e^(-I*a)] sage: B.exp() [ 1/2*(e^(2*I*b) + 1)*e^(-I*b) -1/2*(I*e^(2*I*b) - I)*e^(-I*b)] [ 1/2*(I*e^(2*I*b) - I)*e^(-I*b) 1/2*(e^(2*I*b) + 1)*e^(-I*b)] sage: C.exp() [ e^(I*c) 0] [ 0 e^(-I*c)]

The only problem here is that, even when the relations are simple in this example, I’ve not found a `trivial’ way of simplifying the matrix elements of the exponentiation, not even with the procedure post in here. I didn’t try with the rewrite package

Comments are welcome!

Enjoy.

Dox