Computing Exponentials of Skew-Symmetric Matrices and Logarithms of Orthogonal Matrices
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Robotics and Automation, Vol. 17, No. 4, 2002 COMPUTING EXPONENTIALS OF SKEW-SYMMETRIC MATRICES AND LOGARITHMS OF ORTHOGONAL MATRICES J. Gallier∗ and D. Xu∗ Abstract tom Dieck [4]). The surjectivity of exp is an important property. Indeed, it implies the existence of a function log: The authors show that there is a generalization of Rodrigues’ formula SO(n) → so(n) (only locally a function, log is really a mul- for computing the exponential map exp: so(n) → SO(n) from skew- tivalued function), and this has interesting applications. symmetric matrices to orthogonal matrices when n ≥ 4, and give For example, exp and log can be used for motion interpo- a method for computing some determination of the (multivalued) function log: SO(n) → so(n). The key idea is the decomposition of a lation, as illustrated in Kim, M.-J., Kim, M.-S and Shin skew-symmetric n×n matrix B in terms of (unique) skew-symmetric [5, 6], and Park and Ravani [7, 8]. Motion interpolation matrices B1,...,Bp obtained from the diagonalization of B and and rational motions have also been investigated by J¨uttler satisfying some simple algebraic identities. A subproblem arising in [9, 10], J¨uttler and Wagner [11, 12], Horsch and J¨uttler [13], computing log R, where R ∈ SO(n), is the problem of finding a skew- B B2 B2 and R¨oschel [14]. In its simplest form, the problem is as symmetric matrix , given the matrix , and knowing that has R ,R ∈ n eigenvalues −1 and 0. The authors also consider the exponential map follows: given two rotation matrices 1 2 SO( ), find exp: se(n) → SE(n), where se(n) is the Lie algebra of the Lie group a “natural” interpolating rotation R(t), where 0 ≤ t ≤ 1. SE(n) of (affine) rigid motions. The authors show that there is a Of course, it would be necessary to clarify what we mean Rodrigues-like formula for computing this exponential map, and give by “natural,” but note that we have the following solution: a method for computing some determination of the (multivalued) SE n → se n function log: ( ) ( ). This yields a direct proof of the R(t) = exp((1 − t)log R1 + t log R2) surjectivity of exp: se(n) → SE(n). In theory, the problem is solved. However, it is still necessary to compute exp(B) and log R effectively. Key Words When n = 2, a skew-symmetric matrix B can be written as B = θJ, where: Rotations, skew-symmetric matrices, exponentials, logarithms, rigid motions, interpolation 0 −1 J = 10 1. Introduction and it is easily shown that: Given a real skew-symmetric n × n matrix B,itiswell B θJ e = e = cos θI2 + sin θJ known that R = eB is a rotation matrix, where: Given R ∈ SO(2), we can find cos θ because tr(R)=2cosθ ∞ k B B R R e = In + (where tr( ) denotes the trace of ). Thus, the problem is k k=1 ! completely solved. When n = 3, a real skew-symmetric matrix B is of the B is the exponential of (for instance, see Chevalley [1], form: Marsden and Ratiu [2], or Warner [3]). Conversely, given R ∈ n −cb any rotation matrix SO( ), there is some skew- 0 symmetric matrix B such that R = eB. These two facts can B = c −a be expressed by saying that the map exp: so(n) → SO(n) 0 from the Lie algebra so(n) of skew-symmetric n × n matri- −ba 0 ces to the Lie group SO(n) is surjective (see Br¨ocker and √ and letting θ = a2 + b2 + c2, we have the well-known ∗ Department of Computer and Information Science, Univer- formula due to Rodrigues: sity of Pennsylvania, Philadelphia, PA 19104, USA; e-mail: [email protected], [email protected] B sin θ (1 − cos θ) 2 e = I3 + B + B (paper no. 206-2550) θ θ2 1 B with e = I3 when B = 0 (for instance, see Marsden and of computing the logarithm and the exponential of a matrix Ratiu [2], McCarthy [15], or Murray, Li, and Sastry [16]). is also investigated in [18, 19]. It turns out that it is more convenient to normalize B, The article is organized as follows. In Section 2 that is, to write B = θB1 (where B1 = B/θ, assuming that we give a Rodrigues-like formula for computing exp: θ = 0), in which case the formula becomes: so(n) → SO(n). In Section 3 we show how to compute log: SO(4) → so(4) in the special case of SO(4), which is θB1 2 e = I3 + sin θB1 +(1− cos θ)B1 simpler. In Section 4 we show how to compute some deter- mination of the (multivalued) function log: SO(n) → so(n) Also, given R ∈ SO(3), we can find cos θ because tr(R)= in general (n ≥ 4). In Section 5 we give a Rodrigues-like 1+2cosθ, and we can find B1 by observing that: formula for computing exp: se(n) → SE(n). In Section 6 we 1 show how to compute some determination of the (multi- (R − R ) = sin θB1 2 valued) function log: SE(n) → se(n). Our method yields a Actually, the above formula cannot be used when θ =0or simple proof of the surjectivity of exp: se(n) → SE(n). In θ = π, as sin θ = 0 in these cases. When θ = 0, we have Section 7 we solve the problem of finding a skew-symmetric 2 2 R = I3 and B1 = 0, and when θ = π, we need to find B1 matrix B, given the matrix B , and knowing that B has such that: eigenvalues −1 and 0. Section 8 draws conclusions. 2 1 B1 = 2 (R − I3) 2. A Rodrigues-Like Formula for B × As 1 is a skew-symmetric 3 3 matrix, this amounts exp: so(n) →SO(n) to solving some simple equations with three unknowns. Again, the problem is completely solved. In this section, we give a Rodrigues-like formula showing n ≥ B What about the cases where 4? The reason why how to compute the exponential e of a skew-symmetric Rodrigues’ formula can be derived is that: n × n matrix B, where n ≥ 4. We also show the uniqueness 3 2 of the matrices B1,...,Bp used in the decomposition of B = −θ B B mentioned in the introductory section. The following 3 fairly well-known lemma plays a key role in obtaining the or, equivalently, B1 = −B1. Unfortunately, for n ≥ 4, given any non-null skew-symmetric n × n matrix B,itis matrices B1,...,Bp (see Horn and Johnson [20], Corollary generally false that B3 = −θ2B, and the reasoning used in 2.5.14, or Bourbaki [21]). the 3D case does not apply. In this article, we show that there is a generalization Lemma 2.1. Given any skew-symmetric n × n matrix B of Rodrigues’ formula for computing the exponential map (n ≥ 2), there is some orthogonal matrix P and some block exp: so(n) → SO(n), when n ≥ 4, and we give a method diagonal matrix E such that: for computing some determination of the (multivalued) B = PEP function log function log: SO(n) → so(n). The key to the n × n B solution is that, given a skew-symmetric matrix , with E of the form: there are p unique skew-symmetric matrices B1,...,Bp such that B can be expressed as: E ··· 1 B θ B ··· θ B . .. = 1 1 + + p p . E = where: ··· Em ··· 0n−2m {iθ1, −iθ1,...,iθp, −iθp} E is the set of distinct eigenvalues of B, with θi > 0 and where each block i is a real two-dimensional matrix of where: the form: B B B B i j 0 −θi 0 −1 i j = j i =0n ( = ) E θ θ > 3 i = = i with i 0 Bi = −Bi θi 0 10 × This reduces the problem to the case of 3 3 matrices. Observe that the eigenvalues of B are ±iθj, or 0, recon- We also consider the exponential map exp se(n) → SE(n), firming the well-known fact that the eigenvalues of a where se(n) is the Lie algebra of the Lie group SE(n)of skew-symmetric matrix are purely imaginary, or null. We (affine) rigid motions. We show that there is a Rodrigues- now prove the existence and uniqueness of the Bj’s as well like formula for computing this exponential map, and we as the generalized Rodrigues’ formula. give a method for computing some determination of the (multivalued) function log: SE(n) → se(n). Theorem 2.2. Given any non-null skew-symmetric n×n The general problem of computing the exponential of matrix B, where n ≥ 3, if: a matrix is discussed in Moler and Van Loan [17]. However, more general types of matrices are considered. The problem {iθ1, −iθ1,...,iθp, −iθp} 2 3 is the set of distinct eigenvalues of B, where θj > 0 and Indeed, Bi = −Bi implies that: each iθj (and −iθj) has multiplicity kj ≥ 1, there are p B ,...,B 4k+j j 4k+2+j j unique skew-symmetric matrices 1 p such that: Bi = Bi and Bi = −Bi for j =1, 2 and all k ≥ 0 B = θ1B1 + ···+ θpBp (1) BiBj = BjBi =0n (i = j) (2) and thus, we get: 3 Bi = −Bi (3) θkBk θiBi i i e = In + for all i, j with 1 ≤ i, j ≤ p, and 2p ≤ n. Furthermore: k k≥1 ! p 3 5 θi θi θi B θ1B1+···+θpBp 2 e = e = In + (sin θiBi +(1− cos θi)B ) = In + − + + ··· Bi i 1! 3! 5! i=1 2 4 6 θi θi θi 2 + − + + ··· Bi and {θ1,...,θp} is the set of the distinct positive square 2! 4! 6! roots of the 2m positive eigenvalues of the symmetric 2 2 = In + sin θiBi +(1− cos θi)Bi matrix −1/4(B − B ) , where m = k1 + ···+ kp.