# Theorems (or conjectures) for the theory of proveit.linear_algebra.matrices.exponentiation¶

In [1]:
import proveit
# Prepare this notebook for defining the theorems of a theory:
%theorems_notebook # Keep this at the top following 'import proveit'.

from proveit import b, m, n, x, A, theta, rho
from proveit.logic import Forall, Equals, InSet
from proveit.numbers import NaturalPos, Real, Complex, Mult, Exp, i, exp, exp2pi_i
from proveit.linear_algebra import MatrixMult, ScalarMult, MatrixExp, Unitary, SpecialUnitary
In [2]:
%begin theorems
Defining theorems for theory 'proveit.linear_algebra.matrices.exponentiation'
Subsequent end-of-cell assignments will define theorems
'%end theorems' will finalize the definitions
In [3]:
U_closure = Forall((m, n), Forall(A, InSet(MatrixExp(A, m), Unitary(n)),
domain=Unitary(n)),
domain=NaturalPos)
Out[3]:
U_closure (conjecture without proof):

In [4]:
SU_closure = Forall((m, n), Forall(A, InSet(MatrixExp(A, m), SpecialUnitary(n)),
domain=SpecialUnitary(n)),
domain=NaturalPos)
Out[4]:
SU_closure (conjecture without proof):

In [5]:
eigen_exp_application = Forall(
m, Forall(
b, Forall((A, x), Equals(MatrixMult(MatrixExp(A, m), x), MatrixMult(Exp(b, m), x)),
condition=Equals(MatrixMult(A, x), ScalarMult(b, x))),
domain=Complex),
domain=NaturalPos)
Out[5]:
eigen_exp_application (conjecture without proof):

In [6]:
unital_eigen_exp_application = Forall(
m, Forall(
theta, Forall((A, x), Equals(MatrixMult(MatrixExp(A, m), x), ScalarMult(exp(Mult(i, Mult(m, theta))), x)),
condition=Equals(MatrixMult(A, x), ScalarMult(exp(Mult(i, theta)), x))),
domain=Real),
domain=NaturalPos)
Out[6]:
unital_eigen_exp_application (conjecture without proof):

In [7]:
unital2pi_eigen_exp_application = Forall(
m, Forall(
rho, Forall((A, x), Equals(MatrixMult(MatrixExp(A, m), x), ScalarMult(exp2pi_i(Mult(m, rho)), x)),
condition=Equals(MatrixMult(A, x), ScalarMult(exp2pi_i(rho), x))),
domain=Real),
domain=NaturalPos)
Out[7]:
unital2pi_eigen_exp_application (conjecture without proof):

In [8]:
%end theorems
These theorems may now be imported from the theory package: proveit.linear_algebra.matrices.exponentiation