Matrix exponential

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description Template:Use American English 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 Template:Mvar be an n × nScript error: No such module "Check for unknown parameters". real or complex matrix. The exponential of Template:Mvar, 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 Template:Tmath.[1] The series always converges, so the exponential of Template:Mvar is well-defined.

Equivalently, eX=limk(I+Xk)k

for integer-valued Template:Mvar, where Template:Mvar 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.

When Template:Mvar 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 Template:Mvar.

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 XScript 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, and 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, and 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 Template:Mvar.

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 Template:Mvar 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 Template:Mvar 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.

The exponential of sums

For any real numbers (scalars) Template:Mvar and Template:Mvar we know that the exponential function satisfies ex+y = ex eyScript error: No such module "Check for unknown parameters".. The same is true for commuting matrices. If matrices Template:Mvar and Template:Mvar 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 Template:Mvar and Template:Mvar do not commute, the exponential eX + YScript error: No such module "Check for unknown parameters". can be computed by the Lie product formula[4] eX+Y=limk(e1kXe1kY)k.

Using a large finite Template:Mvar 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 Template:Mvar and Template:Mvar are sufficiently small (but not necessarily commuting) matrices, we have eXeY=eZ, where Template:Mvar may be computed as a series in commutators of Template:Mvar and Template:Mvar by means of the Baker–Campbell–Hausdorff formula:[5] Z=X+Y+12[X,Y]+112[X,[X,Y]]112[Y,[X,Y]]+, where the remaining terms are all iterated commutators involving Template:Mvar and Template:Mvar. If Template:Mvar and Template:Mvar 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 Template:Mvar and Template:Mvar are Hermitian matrices, then[6] 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[7][8] 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 Template:Mvar, 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[9] (for this, it is essential to consider the field C of complex numbers and not R).

For any two matrices Template:Mvar and Template:Mvar, 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,[10] for a generic Template:Mvar-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,[11] 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 [12] [13] Dexp(X)[V]limϵ01ϵ(eX+ϵVeX)=E(GV¯)E* where V¯=E*VE, 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[13] 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.[14][15][16][17] In this section, we discuss methods that are applicable in principle to any matrix, and which can be carried out explicitly for small matrices.[18] 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 Template:Mvar 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 Template:Mvar. Suppose that X = PJPTemplate:I supScript error: No such module "Check for unknown parameters". where Template:Mvar is the Jordan form of Template:Mvar. 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 Template:Mvar is a special nilpotent matrix. The matrix exponential of Template:Mvar is then given by eJ=eλ1eNa1eλ2eNa2eλneNan

Projection case

If Template:Mvar 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 Template:Mvar reduces to Template:Mvar 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,[19] the rotation matrix Template:Mvar can be expressed in terms of a similar exponential function involving a generator Template:Mvar and angle Template:Mvar.[20][21] G=𝐛𝐚T𝐚𝐛TP=G2=𝐚𝐚T+𝐛𝐛TP2=PPG=G=GP, R(θ)=eGθ=I+Gsin(θ)+G2(1cos(θ))=IP+Pcos(θ)+Gsin(θ).

The formula for the exponential results from reducing the powers of Template:Mvar in the series expansion and identifying the respective series coefficients of G2Script error: No such module "Check for unknown parameters". and Template:Mvar 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 "labelled list hatnote".

Evaluation by Laurent series

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

If Template:Mvar 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 Template:Mvar by Template:Mvar.

Such a polynomial Qt(z)Script error: No such module "Check for unknown parameters". can be found as follows−see Sylvester's formula. Letting Template:Mvar be a root of Template:Mvar, Qa,t(z)Script error: No such module "Check for unknown parameters". is solved from the product of Template:Mvar by the principal part of the Laurent series of Template:Mvar at Template:Mvar: It is proportional to the relevant Frobenius covariant. Then the sum St of the Qa,t, where Template:Mvar runs over all the roots of Template:Mvar, 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 Template:Mvar 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 Template:Mvar.

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 Template:Mvar and any C-algebra Template:Mvar, we denote again by Template:Mvar the product of Template:Mvar by the unit of Template:Mvar.)

Let Template:Mvar and Template:Mvar be the roots of the characteristic polynomial of Template:Mvar, 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 Template:Mvar if q = 0Script error: No such module "Check for unknown parameters"..

Thus, Template:Equation box 1

Thus, as indicated above, the matrix Template:Mvar 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 Template:Mvar is less than the multiplicity of Template:Mvar as a root of Template:Mvar. We assume, as we obviously can, that Template:Mvar is the minimal polynomial of Template:Mvar. We further assume that Template:Mvar is a diagonalizable matrix. In particular, the roots of Template:Mvar 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 Template:Mvar−1 powers of Template:Mvar 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 Template:Mvars are the Frobenius covariants of Template:Mvar.

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

But this simple procedure also works for defective matrices, in a generalization due to Buchheim.[22] 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 Template:Mvars 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 Template:Mvar, 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 Template:Mvar 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 Template:Mvars 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 Template:Mvar in terms of the first three powers of Template:Mvar and the identity, one needs four equations, the above one providing one such at Template:Mvar = 0. Further, differentiate it with respect to Template:Mvar, 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, Template:Mvar−1 derivatives need be taken.)

Setting Template:Mvar = 0 in these four equations, the four coefficient matrices Template:Mvars 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 Template:Mvar 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[23]

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

Therefore, the exponential of the original matrix Template:Mvar 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 Template:Mvar.

A solution to this can be obtained by integrating and multiplying by eAt to eliminate the exponent in the LHS. Notice that while eAt is a matrix, given that it is a matrix exponential, we can say that eAteAt=I. In other words, expAt=exp(At)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

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".,
  • Template:Mvar is a continuous complex valued function defined on some open interval Template:Mvar,
  • t0 is a point of Template:Mvar,
  • 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 Template:Mvar 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 Template:Mvar is the transpose companion matrix of Template:Mvar. 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 Template:Mvar = 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

<templatestyles src="Div col/styles.css"/>

References

<templatestyles src="Reflist/styles.css" />

  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. Script error: No such module "Footnotes". Theorem 2.11
  5. Script error: No such module "Footnotes". Chapter 5
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "Citation/CS1".
  8. Script error: No such module "Citation/CS1".
  9. Script error: No such module "Footnotes". Exercises 2.9 and 2.10
  10. Script error: No such module "Citation/CS1".
  11. Script error: No such module "Footnotes". Theorem 5.4
  12. Script error: No such module "Citation/CS1". See Theorem 3.3.
  13. a b Script error: No such module "Citation/CS1". See Propositions 1 and 2.
  14. Script error: No such module "citation/CS1".
  15. Script error: No such module "citation/CS1".
  16. Script error: No such module "citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. See Script error: No such module "Footnotes". Section 2.2
  19. in a Euclidean space
  20. Script error: No such module "citation/CS1".
  21. Script error: No such module "citation/CS1".
  22. Rinehart, R. F. (1955). "The equivalence of definitions of a matric function". The American Mathematical Monthly, 62 (6), 395-414.
  23. 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".

External links

  • Script error: No such module "Template wrapper".

Template:Matrix classes