Matrix exponential

From Wikipedia, the free encyclopedia

Template:Short description Script error: No such module "Unsubst". In mathematics, the matrix exponential is a matrix function on square matrices analogous to the ordinary exponential function. It is used to solve systems of linear differential equations. In the theory of Lie groups, the matrix exponential gives the exponential map between a matrix Lie algebra and the corresponding Lie group.

Let X be an n × nScript error: No such module "Check for unknown parameters". real or complex matrix. The exponential of X, denoted by eXScript error: No such module "Check for unknown parameters". or exp(X)Script error: No such module "Check for unknown parameters"., is the n × nScript error: No such module "Check for unknown parameters". matrix given by the power series

eX=k=01k!Xk

where X0 is defined to be the identity matrix I with the same dimensions as X, and Xk=XXk1.[1] The series always converges, so the exponential of X is well-defined.

Equivalently, eX=limk(I+Xk)k

for integer-valued k, where I is the n × nScript error: No such module "Check for unknown parameters". identity matrix.

Equivalently, the matrix exponential is provided by the solution Y(t)=eXt of the (matrix) differential equation

ddtY(t)=XY(t),Y(0)=I, evaluated at t = 1Script error: No such module "Check for unknown parameters"..

When X is an n × nScript error: No such module "Check for unknown parameters". diagonal matrix then exp(X)Script error: No such module "Check for unknown parameters". will be an n × nScript error: No such module "Check for unknown parameters". diagonal matrix with each diagonal element equal to the ordinary exponential applied to the corresponding diagonal element of X.

Properties

Elementary properties

Let XScript error: No such module "Check for unknown parameters". and YScript error: No such module "Check for unknown parameters". be n × nScript error: No such module "Check for unknown parameters". complex matrices and let aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". be arbitrary complex numbers. We denote the n × nScript error: No such module "Check for unknown parameters". identity matrix by IScript error: No such module "Check for unknown parameters". and the zero matrix by 0. The matrix exponential satisfies the following properties.[2]

We begin with the properties that are immediate consequences of the definition as a power series:

  • e0 = IScript error: No such module "Check for unknown parameters".
  • exp(XT) = (exp X)TScript error: No such module "Check for unknown parameters"., where XTScript error: No such module "Check for unknown parameters". denotes the transpose of XScript error: No such module "Check for unknown parameters"..
  • exp(X*) = (exp X)*Script error: No such module "Check for unknown parameters"., where X*Script error: No such module "Check for unknown parameters". denotes the conjugate transpose of XScript error: No such module "Check for unknown parameters"..
  • If YScript error: No such module "Check for unknown parameters". is invertible then eYXY−1 = YeXY−1.Script error: No such module "Check for unknown parameters".

The next key result is this one:

  • If XY=YX then eXeY=eX+Y.

The proof of this identity is the same as the standard power-series argument for the corresponding identity for the exponential of real numbers. That is to say, as long as X and Y commute, it makes no difference to the argument whether X and Y are numbers or matrices. It is important to note that this identity typically does not hold if X and Y do not commute (see Golden-Thompson inequality below).

Consequences of the preceding identity are the following:

  • eaXebX = e(a + b)XScript error: No such module "Check for unknown parameters".
  • eXeX = IScript error: No such module "Check for unknown parameters".

Using the above results, we can easily verify the following claims:

  • If XScript error: No such module "Check for unknown parameters". is symmetric then eXScript error: No such module "Check for unknown parameters". is also symmetric.
  • If XScript error: No such module "Check for unknown parameters". is skew-symmetric then eXScript error: No such module "Check for unknown parameters". is orthogonal.
  • If XScript error: No such module "Check for unknown parameters". is Hermitian then eXScript error: No such module "Check for unknown parameters". is also Hermitian.
  • If XScript error: No such module "Check for unknown parameters". is skew-Hermitian then eXScript error: No such module "Check for unknown parameters". is unitary.

Finally, a Laplace transform of matrix exponentials amounts to the resolvent, 0etsetXdt=(sIX)1 for all sufficiently large positive values of s.

Linear differential equation systems

Script error: No such module "Labelled list hatnote".

One of the reasons for the importance of the matrix exponential is that it can be used to solve systems of linear ordinary differential equations. The solution of ddty(t)=Ay(t),y(0)=y0, where A is a constant matrix and y is a column vector, is given by y(t)=eAty0.

The matrix exponential can also be used to solve the inhomogeneous equation ddty(t)=Ay(t)+z(t),y(0)=y0. See the section on applications below for examples.

There is no closed-form solution for differential equations of the form ddty(t)=A(t)y(t),y(0)=y0, where A is not constant, but the Magnus series gives the solution as an infinite sum.

The determinant of the matrix exponential

By Jacobi's formula, for any complex square matrix the following trace identity holds:[3] Template:Equation box 1

In addition to providing a computational tool, this formula demonstrates that a matrix exponential is always an invertible matrix. This follows from the fact that the right hand side of the above equation is always non-zero, and so det(eA) ≠ 0Script error: No such module "Check for unknown parameters"., which implies that eAScript error: No such module "Check for unknown parameters". must be invertible.

In the real-valued case, the formula also exhibits the map exp:Mn()GL(n,) to not be surjective, in contrast to the complex case mentioned earlier. This follows from the fact that, for real-valued matrices, the right-hand side of the formula is always positive, while there exist invertible matrices with a negative determinant.

Real symmetric matrices

The matrix exponential of a real symmetric matrix is positive definite. Let S be an n × nScript error: No such module "Check for unknown parameters". real symmetric matrix and xn a column vector. Using the elementary properties of the matrix exponential and of symmetric matrices, we have:

xTeSx=xTeS/2eS/2x=xT(eS/2)TeS/2x=(eS/2x)TeS/2x=eS/2x20.

Since eS/2 is invertible, the equality only holds for x=0, and we have xTeSx>0 for all non-zero x. Hence eS is positive definite.

Tensor product of exponential

The exponential of the Kronecker sum[4] of two square matrices A,B which must not be confused with the direct sum takes a simple form. AB=AIm+InB In this case the exponential is simply the tensor product of the exponentials of the matrices[5]:

exp(AB)=expAexpB

Here we assumed A,B to be of order n,m respectively and Ik is the Identity matrix of order k.
This follows from the commutation of the summands of the Kronecker sum and the properties discussed above.

This result is tied to the Direct Product of Lie groups and its associated Lie algebra for which [AB,CD]=[A,C][B,D] as a representation of the Direct sum of Lie algebras.

Another application of this formula is the physics of non-interacting systems. Its reverse formula logAlogB=log(AB) leads to the additivity of the von Neumann entropy for indepent systems if these logarithmic expressions exist.

The exponential of sums

For any numbers (scalars) a and b we know that the exponential function satisfies ea+b = ea ebScript error: No such module "Check for unknown parameters".. The same is true for commuting matrices. If matrices X and Y commute (meaning that XY = YXScript error: No such module "Check for unknown parameters".), then eX+Y=eXeY.

However, for matrices that do not commute the above equality does not necessarily hold.

The Lie product formula

Even if X and Y do not commute, the exponential eX + YScript error: No such module "Check for unknown parameters". can be computed by the Lie product formula[6] eX+Y=limk(e1kXe1kY)k.

Using a large finite k to approximate the above is basis of the Suzuki-Trotter expansion, often used in numerical time evolution.

The Baker–Campbell–Hausdorff formula

In the other direction, if X and Y are sufficiently small (but not necessarily commuting) matrices, we have eXeY=eZ, where Z may be computed as a series in commutators of X and Y by means of the Baker–Campbell–Hausdorff formula:[7] Z=X+Y+12[X,Y]+112[X,[X,Y]]112[Y,[X,Y]]+, where the remaining terms are all iterated commutators involving X and Y. If X and Y commute, then all the commutators are zero and we have simply Z = X + YScript error: No such module "Check for unknown parameters"..

Inequalities for exponentials of Hermitian matrices

Script error: No such module "Labelled list hatnote". For Hermitian matrices there is a notable theorem related to the trace of matrix exponentials.

If A and B are Hermitian matrices, then[8] trexp(A+B)tr[exp(A)exp(B)].

There is no requirement of commutativity. There are counterexamples to show that the Golden–Thompson inequality cannot be extended to three matrices – and, in any event, tr(exp(A)exp(B)exp(C))Script error: No such module "Check for unknown parameters". is not guaranteed to be real for Hermitian AScript error: No such module "Check for unknown parameters"., BScript error: No such module "Check for unknown parameters"., CScript error: No such module "Check for unknown parameters".. However, Lieb proved[9][10] that it can be generalized to three matrices if we modify the expression as follows trexp(A+B+C)0dttr[eA(eB+t)1eC(eB+t)1].

The exponential map

The exponential of a matrix is always an invertible matrix. The inverse matrix of eXScript error: No such module "Check for unknown parameters". is given by eXScript error: No such module "Check for unknown parameters".. This is analogous to the fact that the exponential of a complex number is always nonzero. The matrix exponential then gives us a map exp:Mn()GL(n,) from the space of all n × n matrices to the general linear group of degree n, i.e. the group of all n × n invertible matrices. In fact, this map is surjective which means that every invertible matrix can be written as the exponential of some other matrix[11] (for this, it is essential to consider the field C of complex numbers and not R).

For any two matrices X and Y, eX+YeXYeXeY,

where ‖ · ‖Script error: No such module "Check for unknown parameters". denotes an arbitrary matrix norm. It follows that the exponential map is continuous and Lipschitz continuous on compact subsets of Mn(C)Script error: No such module "Check for unknown parameters"..

The map tetX,t defines a smooth curve in the general linear group which passes through the identity element at t = 0Script error: No such module "Check for unknown parameters"..

In fact, this gives a one-parameter subgroup of the general linear group since etXesX=e(t+s)X.

The derivative of this curve (or tangent vector) at a point t is given by Template:NumBlk The derivative at t = 0Script error: No such module "Check for unknown parameters". is just the matrix X, which is to say that X generates this one-parameter subgroup.

More generally,[12] for a generic t-dependent exponent, X(t)Script error: No such module "Check for unknown parameters"., Template:Equation box 1

Taking the above expression eX(t)Script error: No such module "Check for unknown parameters". outside the integral sign and expanding the integrand with the help of the Hadamard lemma one can obtain the following useful expression for the derivative of the matrix exponent,[13] eX(t)(ddteX(t))=ddtX(t)12![X(t),ddtX(t)]+13![X(t),[X(t),ddtX(t)]]

The coefficients in the expression above are different from what appears in the exponential. For a closed form, see derivative of the exponential map.

Directional derivatives when restricted to Hermitian matrices

Let X be a n×n Hermitian matrix with distinct eigenvalues. Let X=Ediag(Λ)E be its eigen-decomposition where E is a unitary matrix whose columns are the eigenvectors of X, E is its conjugate transpose, and Λ=(λ1,,λn) the vector of corresponding eigenvalues. Then, for any n×n Hermitian matrix V, the directional derivative of exp:XeX at X in the direction V is [14] [15] Dexp(X)[V]limϵ01ϵ(eX+ϵVeX)=E(GV¯)E where V¯=EVE, the operator denotes the Hadamard product, and, for all 1i,jn, the matrix G is defined as Gi,j={eλieλjλiλj if ij,eλi otherwise. In addition, for any n×n Hermitian matrix U, the second directional derivative in directions U and V is[15] D2exp(X)[U,V]limϵu0limϵv014ϵuϵv(eX+ϵuU+ϵvVeXϵuU+ϵvVeX+ϵuUϵvV+eXϵuUϵvV)=EF(U,V)E where the matrix-valued function F is defined, for all 1i,jn, as F(U,V)i,j=k=1nϕi,j,k(U¯ikV¯jk+V¯ikU¯jk) with ϕi,j,k={GikGjkλiλj if ij,GiiGikλiλk if i=j and ki,Gii2 if i=j=k.

Computing the matrix exponential

Finding reliable and accurate methods to compute the matrix exponential is difficult, and this is still a topic of considerable current research in mathematics and numerical analysis. Matlab, GNU Octave, R, and SciPy all use the Padé approximant.[16][17][18][19] In this section, we discuss methods that are applicable in principle to any matrix, and which can be carried out explicitly for small matrices.[20] Subsequent sections describe methods suitable for numerical evaluation on large matrices.

Diagonalizable case

If a matrix is diagonal: A=[a1000a2000an], then its exponential can be obtained by exponentiating each entry on the main diagonal: eA=[ea1000ea2000ean].

This result also allows one to exponentiate diagonalizable matrices. If Template:Block indent then Template:Block indent which is especially easy to compute when DScript error: No such module "Check for unknown parameters". is diagonal.

Application of Sylvester's formula yields the same result. (To see this, note that addition and multiplication, hence also exponentiation, of diagonal matrices is equivalent to element-wise addition and multiplication, and hence exponentiation; in particular, the "one-dimensional" exponentiation is felt element-wise for the diagonal case.)

Example : Diagonalizable

For example, the matrix A=[1411] can be diagonalized as [2211][1003][2211]1.

Thus, eA=[2211]e[1003][2211]1=[2211][1e00e3][2211]1=[e4+12ee41ee414ee4+12e].

Nilpotent case

A matrix N is nilpotent if Nq = 0Script error: No such module "Check for unknown parameters". for some integer q. In this case, the matrix exponential eNScript error: No such module "Check for unknown parameters". can be computed directly from the series expansion, as the series terminates after a finite number of terms:

eN=I+N+12N2+16N3++1(q1)!Nq1.

Since the series has a finite number of steps, it is a matrix polynomial, which can be computed efficiently.

General case

Using the Jordan–Chevalley decomposition

By the Jordan–Chevalley decomposition, any n×n matrix X with complex entries can be expressed as X=A+N where

  • A is diagonalizable
  • N is nilpotent
  • A commutes with N

This means that we can compute the exponential of X by reducing to the previous two cases: eX=eA+N=eAeN.

Note that we need the commutativity of A and N for the last step to work.

Using the Jordan canonical form

A closely related method is, if the field is algebraically closed, to work with the Jordan form of X. Suppose that X = PJP−1Script error: No such module "Check for unknown parameters". where J is the Jordan form of X. Then eX=PeJP1.

Also, since J=Ja1(λ1)Ja2(λ2)Jan(λn),eJ=exp(Ja1(λ1)Ja2(λ2)Jan(λn))=exp(Ja1(λ1))exp(Ja2(λ2))exp(Jan(λn)).

Therefore, we need only know how to compute the matrix exponential of a Jordan block. But each Jordan block is of the form Ja(λ)=λI+NeJa(λ)=eλI+N=eλeN.

where N is a special nilpotent matrix. The matrix exponential of J is then given by eJ=eλ1eNa1eλ2eNa2eλneNan

Projection case

If P is a projection matrix (i.e. is idempotent: P2 = PScript error: No such module "Check for unknown parameters".), its matrix exponential is: Template:Block indent

Deriving this by expansion of the exponential function, each power of P reduces to P which becomes a common factor of the sum: eP=k=0Pkk!=I+(k=11k!)P=I+(e1)P.

Rotation case

For a simple rotation in which the perpendicular unit vectors aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". specify a plane,[21] the rotation matrix R can be expressed in terms of a similar exponential function involving a generator G and angle θ.[22][23] G=𝐛𝐚𝖳𝐚𝐛𝖳P=G2=𝐚𝐚𝖳+𝐛𝐛𝖳P2=PPG=G=GP, R(θ)=eGθ=I+Gsin(θ)+G2(1cos(θ))=IP+Pcos(θ)+Gsin(θ).

The formula for the exponential results from reducing the powers of G in the series expansion and identifying the respective series coefficients of G2Script error: No such module "Check for unknown parameters". and G with −cos(θ)Script error: No such module "Check for unknown parameters". and sin(θ)Script error: No such module "Check for unknown parameters". respectively. The second expression here for eScript error: No such module "Check for unknown parameters". is the same as the expression for R(θ)Script error: No such module "Check for unknown parameters". in the article containing the derivation of the generator, R(θ) = eScript error: No such module "Check for unknown parameters"..

In two dimensions, if a=[10] and b=[01], then G=[0110], G2=[1001], and R(θ)=[cos(θ)sin(θ)sin(θ)cos(θ)]=Icos(θ)+Gsin(θ) reduces to the standard matrix for a plane rotation.

The matrix P = −G2Script error: No such module "Check for unknown parameters". projects a vector onto the abScript error: No such module "Check for unknown parameters".-plane and the rotation only affects this part of the vector. An example illustrating this is a rotation of 30° = π/6Script error: No such module "Check for unknown parameters". in the plane spanned by aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters".,

𝐚=[100]𝐛=15[012] G=15[012100200]P=G2=15[500012024]P[123]=15[5816]=𝐚+85𝐛R(π6)=110[5352558+34+23254+232+43]

Let N = I - PScript error: No such module "Check for unknown parameters"., so N2 = NScript error: No such module "Check for unknown parameters". and its products with PScript error: No such module "Check for unknown parameters". and GScript error: No such module "Check for unknown parameters". are zero. This will allow us to evaluate powers of RScript error: No such module "Check for unknown parameters"..

R(π6)=N+P32+G12R(π6)2=N+P12+G32R(π6)3=N+GR(π6)6=NPR(π6)12=N+P=I

Script error: No such module "Unsubst".

Evaluation by Laurent series

By virtue of the Cayley–Hamilton theorem the matrix exponential is expressible as a polynomial of order n−1.

If P and QtScript error: No such module "Check for unknown parameters". are nonzero polynomials in one variable, such that P(A) = 0Script error: No such module "Check for unknown parameters"., and if the meromorphic function f(z)=etzQt(z)P(z) is entire, then etA=Qt(A). To prove this, multiply the first of the two above equalities by P(z)Script error: No such module "Check for unknown parameters". and replace z by A.

Such a polynomial Qt(z)Script error: No such module "Check for unknown parameters". can be found as follows−see Sylvester's formula. Letting a be a root of P, Qa,t(z)Script error: No such module "Check for unknown parameters". is solved from the product of P by the principal part of the Laurent series of f at a: It is proportional to the relevant Frobenius covariant. Then the sum St of the Qa,t, where a runs over all the roots of P, can be taken as a particular QtScript error: No such module "Check for unknown parameters".. All the other Qt will be obtained by adding a multiple of P to St(z)Script error: No such module "Check for unknown parameters".. In particular, St(z)Script error: No such module "Check for unknown parameters"., the Lagrange-Sylvester polynomial, is the only QtScript error: No such module "Check for unknown parameters". whose degree is less than that of P.

Example: Consider the case of an arbitrary 2 × 2Script error: No such module "Check for unknown parameters". matrix, A:=[abcd].

The exponential matrix etAScript error: No such module "Check for unknown parameters"., by virtue of the Cayley–Hamilton theorem, must be of the form etA=s0(t)I+s1(t)A.

(For any complex number z and any C-algebra B, we denote again by z the product of z by the unit of B.)

Let α and β be the roots of the characteristic polynomial of A, P(z)=z2(a+d) z+adbc=(zα)(zβ).

Then we have St(z)=eαtzβαβ+eβtzαβα, hence s0(t)=αeβtβeαtαβ,s1(t)=eαteβtαβ

if αβScript error: No such module "Check for unknown parameters".; while, if α = βScript error: No such module "Check for unknown parameters"., St(z)=eαt(1+t(zα)),

so that s0(t)=(1αt)eαt,s1(t)=teαt.

Defining sα+β2=trA2,qαβ2=±det(AsI),

we have s0(t)=est(cosh(qt)ssinh(qt)q),s1(t)=estsinh(qt)q,

where sin(qt)/qScript error: No such module "Check for unknown parameters". is 0 if t = 0Script error: No such module "Check for unknown parameters"., and t if q = 0Script error: No such module "Check for unknown parameters"..

Thus, Template:Equation box 1

Thus, as indicated above, the matrix A having decomposed into the sum of two mutually commuting pieces, the traceful piece and the traceless piece, A=sI+(AsI),

the matrix exponential reduces to a plain product of the exponentials of the two respective pieces. This is a formula often used in physics, as it amounts to the analog of Euler's formula for Pauli spin matrices, that is rotations of the doublet representation of the group SU(2).

The polynomial StScript error: No such module "Check for unknown parameters". can also be given the following "interpolation" characterization. Define et(z) ≡ etzScript error: No such module "Check for unknown parameters"., and n ≡ deg PScript error: No such module "Check for unknown parameters".. Then St(z)Script error: No such module "Check for unknown parameters". is the unique degree < nScript error: No such module "Check for unknown parameters". polynomial which satisfies St(k)(a) = et(k)(a)Script error: No such module "Check for unknown parameters". whenever k is less than the multiplicity of a as a root of P. We assume, as we obviously can, that P is the minimal polynomial of A. We further assume that A is a diagonalizable matrix. In particular, the roots of P are simple, and the "interpolation" characterization indicates that StScript error: No such module "Check for unknown parameters". is given by the Lagrange interpolation formula, so it is the Lagrange−Sylvester polynomial.

At the other extreme, if P = (z - a)nScript error: No such module "Check for unknown parameters"., then St=eat k=0n1 tkk! (za)k.

The simplest case not covered by the above observations is when P=(za)2(zb) with abScript error: No such module "Check for unknown parameters"., which yields St=eat zbab (1+(t+1ba)(za))+ebt (za)2(ba)2.

Evaluation by implementation of Sylvester's formula

A practical, expedited computation of the above reduces to the following rapid steps. Recall from above that an n × nScript error: No such module "Check for unknown parameters". matrix exp(tA)Script error: No such module "Check for unknown parameters". amounts to a linear combination of the first n−1 powers of A by the Cayley–Hamilton theorem. For diagonalizable matrices, as illustrated above, e.g. in the 2 × 2Script error: No such module "Check for unknown parameters". case, Sylvester's formula yields exp(tA) = Bα exp() + Bβ exp()Script error: No such module "Check for unknown parameters"., where the Bs are the Frobenius covariants of A.

It is easiest, however, to simply solve for these Bs directly, by evaluating this expression and its first derivative at t = 0Script error: No such module "Check for unknown parameters"., in terms of A and I, to find the same answer as above.

But this simple procedure also works for defective matrices, in a generalization due to Buchheim.[24] This is illustrated here for a 4 × 4Script error: No such module "Check for unknown parameters". example of a matrix which is not diagonalizable, and the Bs are not projection matrices.

Consider A=[1100011000118001212], with eigenvalues λ1 = 3/4Script error: No such module "Check for unknown parameters". and λ2 = 1Script error: No such module "Check for unknown parameters"., each with a multiplicity of two.

Consider the exponential of each eigenvalue multiplied by t, exp(λit)Script error: No such module "Check for unknown parameters".. Multiply each exponentiated eigenvalue by the corresponding undetermined coefficient matrix BiScript error: No such module "Check for unknown parameters".. If the eigenvalues have an algebraic multiplicity greater than 1, then repeat the process, but now multiplying by an extra factor of t for each repetition, to ensure linear independence.

(If one eigenvalue had a multiplicity of three, then there would be the three terms: Bi1eλit,Bi2teλit,Bi3t2eλit. By contrast, when all eigenvalues are distinct, the Bs are just the Frobenius covariants, and solving for them as below just amounts to the inversion of the Vandermonde matrix of these 4 eigenvalues.)

Sum all such terms, here four such, eAt=B11eλ1t+B12teλ1t+B21eλ2t+B22teλ2t,eAt=B11e34t+B12te34t+B21e1t+B22te1t.

To solve for all of the unknown matrices B in terms of the first three powers of A and the identity, one needs four equations, the above one providing one such at t = 0. Further, differentiate it with respect to t, AeAt=34B11e34t+(34t+1)B12e34t+1B21e1t+(1t+1)B22e1t,

and again, A2eAt=(34)2B11e34t+((34)2t+(34+134))B12e34t+B21e1t+(12t+(1+11))B22e1t=(34)2B11e34t+((34)2t+32)B12e34t+B21et+(t+2)B22et,

and once more, A3eAt=(34)3B11e34t+((34)3t+((34)2+(32)34))B12e34t+B21e1t+(13t+(1+2)1)B22e1t=(34)3B11e34t+((34)3t+2716)B12e34t+B21et+(t+31)B22et.

(In the general case, n−1 derivatives need be taken.)

Setting t = 0 in these four equations, the four coefficient matrices Bs may now be solved for, I=B11+B21A=34B11+B12+B21+B22A2=(34)2B11+32B12+B21+2B22A3=(34)3B11+2716B12+B21+3B22,

to yield B11=128A3366A2+288A80IB12=16A344A2+40A12IB21=128A3+366A2288A+80IB22=16A340A2+33A9I.

Substituting with the value for A yields the coefficient matrices B11=[004816008200100001]B12=[004200112001418001214]B21=[104816018200000000]B22=[0182000000000000]

so the final answer is etA=[ettet(8t48)et+(4t+48)e34t(162t)et+(2t16)e34t0et8et+(t8)e34t2et+t+42e34t00t+44e34tt8e34t00t2e34tt44e34t.]

The procedure is much shorter than Putzer's algorithm sometimes utilized in such cases.

Script error: No such module "Labelled list hatnote".

Illustrations

Suppose that we want to compute the exponential of B=[211765164416].

Its Jordan form is J=P1BP=[40001610016], where the matrix P is given by P=[1425414214040].

Let us first calculate exp(J). We have J=J1(4)J2(16)

The exponential of a 1 × 1Script error: No such module "Check for unknown parameters". matrix is just the exponential of the one entry of the matrix, so exp(J1(4)) = [e4]Script error: No such module "Check for unknown parameters".. The exponential of J2(16) can be calculated by the formula eI + N) = eλ eNScript error: No such module "Check for unknown parameters". mentioned above; this yields[25]

exp([161016])=e16exp([0100])==e16([1001]+[0100]+12![0000]+)=[e16e160e16].

Therefore, the exponential of the original matrix B is exp(B)=Pexp(J)P1=P[e4000e16e1600e16]P1=14[13e16e413e165e42e162e49e16+e49e16+5e42e16+2e416e1616e164e16].

Applications

Linear differential equations

The matrix exponential has applications to systems of linear differential equations. (See also matrix differential equation.) Recall from earlier in this article that a homogeneous differential equation of the form 𝐲=A𝐲 has solution eAt y(0)Script error: No such module "Check for unknown parameters"..

If we consider the vector 𝐲(t)=[y1(t)yn(t)], we can express a system of inhomogeneous coupled linear differential equations as 𝐲(t)=A𝐲(t)+𝐛(t). Making an ansatz to use an integrating factor of eAtScript error: No such module "Check for unknown parameters". and multiplying throughout, yields eAt𝐲eAtA𝐲=eAt𝐛eAt𝐲AeAt𝐲=eAt𝐛ddt(eAt𝐲)=eAt𝐛.

The second step is possible due to the fact that, if AB = BAScript error: No such module "Check for unknown parameters"., then eAtB = BeAtScript error: No such module "Check for unknown parameters".. So, calculating eAtScript error: No such module "Check for unknown parameters". leads to the solution to the system, by simply integrating the third step with respect to t.

A solution to this can be obtained by integrating and multiplying by e𝐀t to eliminate the exponent in the LHS. Notice that while e𝐀t is a matrix, given that it is a matrix exponential, we can say that e𝐀te𝐀t=I. In other words, exp𝐀t=exp(𝐀t)1.

Example (homogeneous)

Consider the system x=2xy+zy=3y1zz=2x+y+3z.

The associated defective matrix is A=[211031213].

The matrix exponential is etA=12[e2t(1+e2t2t)2te2te2t(1+e2t)e2t(1+e2t2t)2(t+1)e2te2t(1+e2t)e2t(1+e2t+2t)2te2te2t(1+e2t)],

so that the general solution of the homogeneous system is [xyz]=x(0)2[e2t(1+e2t2t)e2t(1+e2t2t)e2t(1+e2t+2t)]+y(0)2[2te2t2(t+1)e2t2te2t]+z(0)2[e2t(1+e2t)e2t(1+e2t)e2t(1+e2t)],

amounting to 2x=x(0)e2t(1+e2t2t)+y(0)(2te2t)+z(0)e2t(1+e2t)2y=x(0)(e2t)(1+e2t2t)+y(0)2(t+1)e2t+z(0)(e2t)(1+e2t)2z=x(0)e2t(1+e2t+2t)+y(0)2te2t+z(0)e2t(1+e2t).

Example (inhomogeneous)

Consider now the inhomogeneous system x=2xy+z+e2ty=3yzz=2x+y+3z+e2t.

We again have A=[211031213],

and 𝐛=e2t[101].

From before, we already have the general solution to the homogeneous equation. Since the sum of the homogeneous and particular solutions give the general solution to the inhomogeneous problem, we now only need find the particular solution.

We have, by above, 𝐲p=etA0te(u)A[e2u0e2u]du+etA𝐜=etA0t[2eu2ue2u2ue2u02eu+2(u+1)e2u2(u+1)e2u02ue2u2ue2u2eu][e2u0e2u]du+etA𝐜=etA0t[e2u(2eu2ue2u)e2u(2eu+2(1+u)e2u)2e3u+2ue4u]du+etA𝐜=etA[124e3t(3et(4t1)16)124e3t(3et(4t+4)16)124e3t(3et(4t1)16)]+[2et2te2t2te2t02et+2(t+1)e2t2(t+1)e2t02te2t2te2t2et][c1c2c3], which could be further simplified to get the requisite particular solution determined through variation of parameters. Note c = yp(0). For more rigor, see the following generalization.

Inhomogeneous case generalization: variation of parameters

For the inhomogeneous case, we can use integrating factors (a method akin to variation of parameters). We seek a particular solution of the form yp(t) = exp(tA) z(t)Script error: No such module "Check for unknown parameters"., 𝐲p(t)=(etA)𝐳(t)+etA𝐳(t)=AetA𝐳(t)+etA𝐳(t)=A𝐲p(t)+etA𝐳(t).

For ypScript error: No such module "Check for unknown parameters". to be a solution, etA𝐳(t)=𝐛(t)𝐳(t)=(etA)1𝐛(t)𝐳(t)=0teuA𝐛(u)du+𝐜.

Thus, 𝐲p(t)=etA0teuA𝐛(u)du+etA𝐜=0te(tu)A𝐛(u)du+etA𝐜, where cScript error: No such module "Check for unknown parameters". is determined by the initial conditions of the problem.

More precisely, consider the equation YA Y=F(t)

with the initial condition Y(t0) = Y0Script error: No such module "Check for unknown parameters"., where

  • A is an n by n complex matrix,
  • F is a continuous function from some open interval I to CnScript error: No such module "Check for unknown parameters".,
  • t0 is a point of I, and
  • Y0 is a vector of CnScript error: No such module "Check for unknown parameters"..

Left-multiplying the above displayed equality by e−tAScript error: No such module "Check for unknown parameters". yields Y(t)=e(tt0)A Y0+t0te(tx)A F(x) dx.

We claim that the solution to the equation P(d/dt) y=f(t)

with the initial conditions y(k)(t0)=yk for 0 ≤ k < nScript error: No such module "Check for unknown parameters". is y(t)=k=0n1 yk sk(tt0)+t0tsn1(tx) f(x) dx,

where the notation is as follows:

  • P[X] is a monic polynomial of degree n > 0Script error: No such module "Check for unknown parameters".,
  • f is a continuous complex valued function defined on some open interval I,
  • t0 is a point of I,
  • yk is a complex number, and

sk(t)Script error: No such module "Check for unknown parameters". is the coefficient of Xk in the polynomial denoted by St[X] in Subsection Evaluation by Laurent series above.

To justify this claim, we transform our order n scalar equation into an order one vector equation by the usual reduction to a first order system. Our vector equation takes the form dYdtA Y=F(t),Y(t0)=Y0, where A is the transpose companion matrix of P. We solve this equation as explained above, computing the matrix exponentials by the observation made in Subsection Evaluation by implementation of Sylvester's formula above.

In the case n = 2 we get the following statement. The solution to y(α+β) y+αβ y=f(t),y(t0)=y0,y(t0)=y1

is y(t)=y0 s0(tt0)+y1 s1(tt0)+t0ts1(tx)f(x) dx,

where the functions s0Script error: No such module "Check for unknown parameters". and s1Script error: No such module "Check for unknown parameters". are as in Subsection Evaluation by Laurent series above.

See also

Page Template:Div col/styles.css has no content.

References

Page Template:Reflist/styles.css has no content.

  1. Script error: No such module "Footnotes". Equation 2.1
  2. Script error: No such module "Footnotes". Proposition 2.3
  3. Script error: No such module "Footnotes". Theorem 2.12
  4. Brewer, J.W. (1969). "A note on Kronecker matrix products and matrix equation systems". SIAM Journal on Applied Mathematics. 17 (3): 603–606. doi:10.1137/0117057.
  5. Weisstein, Eric W. "Kronecker Sum." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/KroneckerSum.html
  6. Script error: No such module "Footnotes". Theorem 2.11
  7. Script error: No such module "Footnotes". Chapter 5
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "Citation/CS1".
  10. Script error: No such module "Citation/CS1".
  11. Script error: No such module "Footnotes". Exercises 2.9 and 2.10
  12. Script error: No such module "Citation/CS1".
  13. Script error: No such module "Footnotes". Theorem 5.4
  14. Script error: No such module "Citation/CS1". See Theorem 3.3.
  15. a b Script error: No such module "Citation/CS1". See Propositions 1 and 2.
  16. Script error: No such module "citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. Script error: No such module "citation/CS1".
  19. Script error: No such module "citation/CS1".
  20. See Script error: No such module "Footnotes". Section 2.2
  21. in a Euclidean space
  22. Script error: No such module "citation/CS1".
  23. Script error: No such module "citation/CS1".
  24. Rinehart, R. F. (1955). "The equivalence of definitions of a matric function". The American Mathematical Monthly, 62 (6), 395-414.
  25. This can be generalized; in general, the exponential of Jn(a)Script error: No such module "Check for unknown parameters". is an upper triangular matrix with ea/0!Script error: No such module "Check for unknown parameters". on the main diagonal, ea/1!Script error: No such module "Check for unknown parameters". on the one above, ea/2!Script error: No such module "Check for unknown parameters". on the next one, and so on.

Script error: No such module "Check for unknown parameters".

  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1"..
  • Script error: No such module "Citation/CS1"..
  • Script error: No such module "Citation/CS1".
  • Script error: No such module "Citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "Citation/CS1".
  • Script error: No such module "Template wrapper".

Template:Matrix classes