机器人中常用矩阵等式-III (Identities 7~10 的证明)

# 机器人中常用矩阵等式 ([Identity 7] ~ [Identity 10] 的证明)

I. 机器人中常用矩阵等式-I (汇总)

II. 具体展开及证明


机器人中常用矩阵等式-II (Identities 1~6 的证明)


[Identity 7] Partial Derivative of a Matrix Trace of the Second Order (2)
∂ t r X T Z X ∂ X = Z X + Z T X \frac{\partial {\rm tr} {{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X}}{\partial \mathbf X} = {\mathbf Z}{\mathbf X} + {{\mathbf Z}^{\small\rm T}}{\mathbf X} XtrXTZX=ZX+ZTX

where X \mathbf{X} X is n × m n \times m n×m, and Z {\mathbf Z} Z is n × n n\times n n×n.[3]

If Z \mathbf{Z} Z is symmetric, then
∂ t r X T Z X ∂ X = 2 Z X \frac{\partial {\rm tr} {{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X}}{\partial \mathbf X} = 2{\mathbf Z}{\mathbf X} XtrXTZX=2ZX

Proof

证明和 “[Identity 6] Partial Derivative of a Matrix Trace of the Second Order (1)” 类似.

X \mathbf{X} X 中第 k k k X k {\mathbf X}_{k} Xk, X T Z X {{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X} XTZX 对角线上的 k k k k k k 列 元素为
[ X T Z X ] k k = X k T Z X k = [ X 1 k X 2 k ⋯ X n k ] [ Z 11 Z 12 ⋯ Z 1 n Z 21 Z 22 ⋯ Z 2 n ⋮ ⋮ ⋱ ⋮ Z n 1 Z n 2 ⋯ Z n n ] [ X 1 k X 2 k ⋮ X n k ] = [ ∑ i = 1 n X i k Z i 1 ∑ i = 1 n X i k Z i 2 ⋯ ∑ i = 1 n X i k Z i n ] [ X 1 k X 2 k ⋮ X n k ] = ∑ j = 1 n ∑ i = 1 n X i k Z i j X j k \begin{aligned} \left[ {{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X} \right]_{kk} =\mathbf{X}_{k}^{\small\rm T} \mathbf{Z} \mathbf{X}_{k} &= \begin{bmatrix} X_{1k} &X_{2k} &\cdots & X_{nk} \end{bmatrix} \begin{bmatrix} Z_{11} & Z_{12} &\cdots &Z_{1n}\\ Z_{21} & Z_{22} &\cdots &Z_{2n}\\ \vdots & \vdots &\ddots &\vdots\\ Z_{n1} & Z_{n2} &\cdots &Z_{nn} \end{bmatrix} \begin{bmatrix} X_{1k} \\X_{2k} \\ \vdots \\ X_{nk} \end{bmatrix}\\ &= \begin{bmatrix} \sum_{i=1}^{n} X_{ik} Z_{i1} &\sum_{i=1}^{n} X_{ik} Z_{i2} &\cdots & \sum_{i=1}^{n} X_{ik} Z_{in} \end{bmatrix}\begin{bmatrix} X_{1k} \\X_{2k} \\ \vdots \\ X_{nk} \end{bmatrix}\\ &= \sum_{j=1}^{n}\sum_{i=1}^{n} X_{ik} Z_{ij} X_{jk} \end{aligned} [XTZX]kk=XkTZXk=[X1kX2kXnk] Z11Z21Zn1Z12Z22Zn2Z1nZ2nZnn X1kX2kXnk =[i=1nXikZi1i=1nXikZi2i=1nXikZin] X1kX2kXnk =j=1ni=1nXikZijXjk
由方阵迹的定义
t r ( X T Z X ) = ∑ k = 1 m X k T Z X k = ∑ k = 1 m ∑ j = 1 n ∑ i = 1 n X i k Z i j X j k {\rm tr}(\mathbf{X}^{\small\rm T} \mathbf{Z} \mathbf{X}) = \sum_{k=1}^{m} \mathbf{X}_{k}^{\small\rm T} \mathbf{Z} \mathbf{X}_{k}= \sum_{k=1}^{m} \sum_{j=1}^{n}\sum_{i=1}^{n} X_{ik} Z_{ij} X_{jk} tr(XTZX)=k=1mXkTZXk=k=1mj=1ni=1nXikZijXjk
根据 “[Identity 3] Derivative of Scale with Respect to Matrix” 有
[ ∂ t r X T Z X ∂ X ] p q = ∂ t r ( X T Z X ) ∂ X p q = ∂ ∑ k = 1 m ∑ j = 1 n ∑ i = 1 n X i k Z i j X j k ∂ X p q ( p r o d u c t   r u l e   [ f g ] ′ = f ′ g + f g ′ ) = ∑ j = 1 n Z p j X j q + ∑ i = 1 n X i q Z i p ( X i q Z i p = Z i p X i q ) = ∑ j = 1 n Z p j X j q + ∑ i = 1 n Z i p X i q \begin{aligned} \left[ \frac{\partial {\rm tr}{{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X}}{\partial \mathbf X} \right]_{pq} &= \frac{\partial {\rm tr} \left( \mathbf{X}^{\small \rm T} \mathbf{Z} \mathbf{X}\right)}{\partial X_{pq}}\\ &= \frac{\partial{\sum_{k=1}^{m} \sum_{j=1}^{n}\sum_{i=1}^{n} X_{ik} Z_{ij} X_{jk}}}{\partial X_{pq}} \\ ({\rm product\ rule}\ [fg]'=f'g+fg') \qquad &= \sum_{j=1}^{n} Z_{pj}X_{jq} + \sum_{i=1}^{n} X_{iq} Z_{ip} \\ (X_{iq} Z_{ip}= Z_{ip} X_{iq}) \qquad &= \sum_{j=1}^{n} Z_{pj}X_{jq} + \sum_{i=1}^{n} Z_{ip} X_{iq} \\ \end{aligned} [XtrXTZX]pq(product rule [fg]=fg+fg)(XiqZip=ZipXiq)=Xpqtr(XTZX)=Xpqk=1mj=1ni=1nXikZijXjk=j=1nZpjXjq+i=1nXiqZip=j=1nZpjXjq+i=1nZipXiq
所以有
∂ t r X T Z X ∂ X = Z X + Z T X \frac{\partial {\rm tr} {{\mathbf X}^{\small \rm T}} {\mathbf Z}{\mathbf X}}{\partial \mathbf X} = {\mathbf Z}{\mathbf X} + {{\mathbf Z}^{\small\rm T}}{\mathbf X} XtrXTZX=ZX+ZTX
证毕.


[Identity 8] Partial Derivative of a Quadratic Form

Consider the quadratic form
y = x T A x y = {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x} y=xTAx
where x \mathbf{x} x is a vector of order n n n, and A \mathbf{A} A is an n × n n\times n n×n square matrix. We obtain[2]
∂ y ∂ x = A x + A T x \frac{\partial y}{\partial \mathbf{x}} = \mathbf{A} \mathbf{x} + {\mathbf{A}^{\small \rm T}} \mathbf{x} xy=Ax+ATx
and if A \mathbf{A} A is symmetric
∂ y ∂ x = 2 A x \frac{\partial y}{\partial \mathbf{x}} = 2 \mathbf{A} \mathbf{x} xy=2Ax

Proof

证明过程与 “[Identity 5] Partial Derivative of a Matrix Trace” 类似.
x T A x = [ x 1 x 2 ⋯ x n ] [ A 11 A 12 ⋯ A 1 n A 21 A 22 ⋯ A 2 n ⋮ ⋮ ⋱ ⋮ A n 1 A n 2 ⋯ A n n ] [ x 1 x 2 ⋮ x n ] = [ ∑ i = 1 n x i A i 1 ∑ i = 1 n x i A i 2 ⋯ ∑ i = 1 n x i A i n ] [ x 1 x 2 ⋮ x n ] = ∑ j = 1 n ∑ i = 1 n x i A i j x j \begin{aligned} {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x} &= \begin{bmatrix} x_{1} &x_{2} &\cdots & x_{n} \end{bmatrix} \begin{bmatrix} A_{11} & A_{12} &\cdots &A_{1n}\\ A_{21} & A_{22} &\cdots &A_{2n}\\ \vdots & \vdots &\ddots &\vdots\\ A_{n1} & A_{n2} &\cdots &A_{nn} \end{bmatrix} \begin{bmatrix} x_{1} \\x_{2} \\ \vdots \\ x_{n} \end{bmatrix}\\ &= \begin{bmatrix} \sum_{i=1}^{n} x_{i} A_{i1} & \sum_{i=1}^{n} x_{i} A_{i2} &\cdots & \sum_{i=1}^{n} x_{i} A_{in} \end{bmatrix}\begin{bmatrix} x_{1} \\x_{2} \\ \vdots \\ x_{n} \end{bmatrix}\\ &= \sum_{j=1}^{n} \sum_{i=1}^{n} x_{i} A_{ij} x_{j} \end{aligned} xTAx=[x1x2xn] A11A21An1A12A22An2A1nA2nAnn x1x2xn =[i=1nxiAi1i=1nxiAi2i=1nxiAin] x1x2xn =j=1ni=1nxiAijxj
根据 “[Identity 3] Derivative of Scale with Respect to Matrix” 有
∂ x T A x ∂ x = [ ∂ x T A x ∂ x 1 ∂ x T A x ∂ x 2 ⋮ ∂ x T A x ∂ x n ] \frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial \mathbf{x}} = \begin{bmatrix} \frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial x_1} \\ \frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial x_2}\\ \vdots\\ \frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial x_n} \end{bmatrix} xxTAx= x1xTAxx2xTAxxnxTAx
取出其中一项分析
[ ∂ x T A x ∂ x ] i = ∂ ∑ j = 1 n ∑ i = 1 n x i A i j x j ∂ x i ( p r o d u c t   r u l e   [ f g ] ′ = f ′ g + f g ′ ) = ∑ j = 1 n A i j x j + ∑ k = 1 n x k A k i \begin{aligned} \left[\frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial \mathbf{x}}\right]_{i} &= \frac{\partial \sum_{j=1}^{n} \sum_{i=1}^{n} x_{i} A_{ij} x_{j}}{\partial x_i}\\ ({\rm product\ rule}\ [fg]'=f'g+fg')\quad&= \sum_{j=1}^{n} A_{ij} x_{j} + \sum_{k=1}^{n} x_{k} A_{ki} \end{aligned} [xxTAx]i(product rule [fg]=fg+fg)=xij=1ni=1nxiAijxj=j=1nAijxj+k=1nxkAki
故有
∂ x T A x ∂ x = A x + [ x T A ] T = A x + A T x \frac{\partial {\mathbf x}^{\small \rm T} \mathbf{A} {\mathbf x}}{\partial \mathbf{x}} = \mathbf{A} \mathbf{x} + \left[\mathbf{x}^{\small \rm T} \mathbf{A}\right]^{\small \rm T} = \mathbf{A} \mathbf{x} + \mathbf{A}^{\small \rm T} \mathbf{x} xxTAx=Ax+[xTA]T=Ax+ATx
得证.


[Identity 9] Vector Triple Product

The vector triple product identity is also known as the BAC-CAB identity, and can be written in the form[4]
A × ( B × C ) = B ( A ⋅ C ) − C ( A ⋅ B ) \mathbf{A}\times (\mathbf{B} \times \mathbf{C}) = \mathbf{B}(\mathbf{A}\cdot\mathbf{C}) - \mathbf{C}(\mathbf{A}\cdot\mathbf{B}) A×(B×C)=B(AC)C(AB)

( A × B ) × C = − C × ( A × B ) = − A ( B ⋅ C ) + B ( A ⋅ C ) (\mathbf{A}\times \mathbf{B})\times {\mathbf{C}} = - {\mathbf{C}} \times(\mathbf{A}\times \mathbf{B}) = -\mathbf{A}(\mathbf{B}\cdot\mathbf{C})+\mathbf{B} (\mathbf{A}\cdot\mathbf{C}) (A×B)×C=C×(A×B)=A(BC)+B(AC)

where A 、 B 、 C ∈ R 3 \mathbf{A}、\mathbf{B}、\mathbf{C} \in \mathbb{R}^3 ABCR3

为了方便记忆, 我们称这三个向量为 f i r s t first first s e c o n d second second t h i r d third third, 则

The vector triple product = f i r s t × ( s e c o n d × t h i r d ) = ( f i r s t ⋅ t h r i d ) s e c o n d − ( f i r s t ⋅ s e c o n d ) t h i r d first \times (second \times third) = (first \cdot thrid)second - (first \cdot second) third first×(second×third)=(firstthrid)second(firstsecond)third

Proof

因为只有三维, 我们采用暴力计算. 设
A = A 1 i + A 2 j + A 3 k , B = B 1 i + B 2 j + B 3 k , C = C 1 i + C 2 j + C 3 k \mathbf{A} = A_{1} \mathbf{i}+ A_{2}\mathbf{j} + A_{3}\mathbf{k},\quad \mathbf{B} = B_{1} \mathbf{i}+ B_{2}\mathbf{j} + B_{3}\mathbf{k},\quad \mathbf{C} = C_{1} \mathbf{i}+ C_{2}\mathbf{j} + C_{3}\mathbf{k} A=A1i+A2j+A3k,B=B1i+B2j+B3k,C=C1i+C2j+C3k
行列式计算
B × C = ∣ i j k B 1 B 2 B 3 C 1 C 2 C 3 ∣ = ( B 2 C 3 − C 2 B 3 ) i + ( C 1 B 3 − B 1 C 3 ) j + ( B 1 C 2 − C 1 B 2 ) k \mathbf{B} \times \mathbf{C} = \begin{vmatrix} \mathbf{i} & \mathbf{j} &\mathbf{k} \\ B_1 & B_2 & B_3\\ C_1 & C_2 & C_3\end{vmatrix} =(B_2 C_3 - C_2 B_3 ) \mathbf{i} + (C_1 B_3 - B_1 C_3 ) \mathbf{j} + (B_1 C_2 - C_1 B_2 ) \mathbf{k} B×C= iB1C1jB2C2kB3C3 =(B2C3C2B3)i+(C1B3B1C3)j+(B1C2C1B2)k

A × ( B × C ) = ∣ i j k A 1 A 2 A 3 B 2 C 3 − C 2 B 3 C 1 B 3 − B 1 C 3 B 1 C 2 − C 1 B 2 ∣ =   [ A 2 ( B 1 C 2 − C 1 B 2 ) − A 3 ( C 1 B 3 − B 1 C 3 ) ] i + [ A 3 ( B 2 C 3 − C 2 B 3 ) − A 1 ( B 1 C 2 − C 1 B 2 ) ] j + [ A 1 ( C 1 B 3 − B 1 C 3 ) − A 2 ( B 2 C 3 − C 2 B 3 ) ] k =   [ ( A 1 C 1 + A 2 C 2 + A 3 C 3 ) B 1 − ( A 1 B 1 + A 2 B 2 + A 3 B 3 ) C 1 ] i + [ ( A 1 C 1 + A 2 C 2 + A 3 C 3 ) B 2 − ( A 1 B 1 + A 2 B 2 + A 3 B 3 ) C 2 ] j + [ ( A 1 C 1 + A 2 C 2 + A 3 C 3 ) B 3 − ( A 1 B 1 + A 2 B 2 + A 3 B 3 ) C 3 ] k = ( A 1 C 1 + A 2 C 2 + A 3 C 3 ) ( B 1 i + B 2 j + B 3 k ) − ( A 1 B 1 + A 2 B 2 + A 3 B 3 ) ( C 1 i + C 2 j + C 3 k ) = ( A ⋅ C ) B − ( A ⋅ B ) C \begin{aligned} \mathbf{A}\times (\mathbf{B} \times \mathbf{C}) = & \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ A_1 & A_2 &A_3 \\ B_2 C_3 - C_2 B_3 & C_1 B_3 - B_1 C_3 & B_1 C_2 - C_1 B_2 \end{vmatrix} \\ = & \quad\, \left[A_2 (B_1 C_2 - C_1 B_2 ) - A_3 (C_1 B_3 - B_1 C_3) \right]\mathbf{i} \\ & + \left[A_3 (B_2 C_3 - C_2 B_3) - A_1 (B_1 C_2 - C_1 B_2) \right]\mathbf{j} \\ & + \left[A_1 (C_1 B_3 - B_1 C_3) - A_2 (B_2 C_3 - C_2 B_3) \right]\mathbf{k}\\ =& \quad\,\left[( A_1 C_1 + A_2 C_2 + A_3 C_3 ) B_1 - (A_1 B_1 + A_2 B_2 + A_3 B_3) C_1 \right]\mathbf{i}\\ & + \left[( A_1 C_1 + A_2 C_2 + A_3 C_3) B_2 - (A_1 B_1 + A_2 B_2 + A_3 B_3) C_2 \right]\mathbf{j} \\ & + \left[(A_1 C_1 + A_2 C_2 + A_3 C_3) B_3 - (A_1 B_1 + A_2 B_2 + A_3 B_3) C_3 \right]\mathbf{k}\\ =& (A_1 C_1 + A_2 C_2 + A_3 C_3)(B_{1} \mathbf{i}+ B_{2}\mathbf{j} + B_{3}\mathbf{k}) - (A_1 B_1 + A_2 B_2 + A_3 B_3)(C_{1} \mathbf{i}+ C_{2}\mathbf{j} + C_{3}\mathbf{k})\\ =& (\mathbf{A}\cdot \mathbf{C}) \mathbf{B} - (\mathbf{A}\cdot \mathbf{B}) \mathbf{C} \end{aligned} A×(B×C)===== iA1B2C3C2B3jA2C1B3B1C3kA3B1C2C1B2 [A2(B1C2C1B2)A3(C1B3B1C3)]i+[A3(B2C3C2B3)A1(B1C2C1B2)]j+[A1(C1B3B1C3)A2(B2C3C2B3)]k[(A1C1+A2C2+A3C3)B1(A1B1+A2B2+A3B3)C1]i+[(A1C1+A2C2+A3C3)B2(A1B1+A2B2+A3B3)C2]j+[(A1C1+A2C2+A3C3)B3(A1B1+A2B2+A3B3)C3]k(A1C1+A2C2+A3C3)(B1i+B2j+B3k)(A1B1+A2B2+A3B3)(C1i+C2j+C3k)(AC)B(AB)C

得证.


[Identity 10] Matrix Inversion lemmas (Sherman-Morrison-Woodbury Identity)

For square and invertible matrices A \mathbf{A} A and D \mathbf{D} D of size n A × n A n_A \times n_A nA×nA and n D × n D n_D \times n_D nD×nD, and matrices B \mathbf{B} B and C \mathbf{C} C of size n A × n D n_A \times n_D nA×nD and n D × n A n_D\times n_A nD×nA, if either ( D − C A − 1 B ) (\mathbf{D}-\mathbf{C}\mathbf{A}^{-1} \mathbf{B}) (DCA1B) or ( A − B D − 1 C ) (\mathbf{A} - \mathbf{B}\mathbf{D}^{-1} \mathbf{C}) (ABD1C) is invertible, then both are invertible and are related by the identities[5]
( A − B D − 1 C ) − 1 = A − 1 + A − 1 B ( D − C A − 1 B ) − 1 C A − 1 ( D − C A − 1 B ) − 1 = D − 1 + D − 1 C ( A − B D − 1 C ) − 1 B D − 1 A − 1 B ( D − C A − 1 B ) − 1 = ( A − B D − 1 C ) − 1 B D − 1 ( D − C A − 1 B ) − 1 C A − 1 = D − 1 C ( A − B D − 1 C ) − 1 ( A + B C ) − 1 = A − 1 − A − 1 B ( I + C A − 1 B ) − 1 C A − 1 (\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} = \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} \mathbf{C}\mathbf{A}^{-1}\\ (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} = \mathbf{D}^{-1} + {\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1}\\ \mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} = (\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1}\\ (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\mathbf{C}\mathbf{A}^{-1} = {\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1}\\ (\mathbf{A}+ {{\mathbf{B}}} {\mathbf{C}})^{-1} = \mathbf{A}^{-1} - \mathbf{A}^{-1}{\mathbf{B}}(\mathbf{I}+\mathbf{C}{\mathbf{A}^{-1}}{\mathbf{B}})^{-1} \mathbf{C}\mathbf{A}^{-1} (ABD1C)1=A1+A1B(DCA1B)1CA1(DCA1B)1=D1+D1C(ABD1C)1BD1A1B(DCA1B)1=(ABD1C)1BD1(DCA1B)1CA1=D1C(ABD1C)1(A+BC)1=A1A1B(I+CA1B)1CA1

Proof (基于 LDU decomposition 和 UDL decomposition[3])

构建尺寸为 ( n A + n D ) × ( n A + n D ) (n_A+n_D)\times (n_A+n_D) (nA+nD)×(nA+nD) 扩展方阵
M = [ A B C D ] \mathbf{M} = \begin{bmatrix} \mathbf{A} &\mathbf{B} \\ \mathbf{C} &\mathbf{D}\end{bmatrix} M=[ACBD]

1 先对 M \mathbf{M} M 进行 LDU decomposition
[ A B C D ] → r 2 − C A − 1 r 1 [ A B 0 D − C A − 1 B ] \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \xrightarrow{r_2-{\mathbf{C}} \mathbf{A}^{-1} r_1} \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{0} &\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B} \end{bmatrix} [ACBD]r2CA1r1 [A0BDCA1B]
写成矩阵乘的形式
[ I 0 − C A − 1 I ] [ A B C D ] = [ A B 0 D − C A − 1 B ] (1) \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix} \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{C} & \mathbf{D}\end{bmatrix} = \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \tag{1} [ICA10I][ACBD]=[A0BDCA1B](1)
易知
[ I 0 − C A − 1 I ] − 1 = [ I 0 C A − 1 I ] \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix}^{-1} =\begin{bmatrix} \mathbf{I} &\mathbf{0}\\ \mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix} [ICA10I]1=[ICA10I]
故 (1) 有
[ A B C D ] = [ I 0 C A − 1 I ] [ A B 0 D − C A − 1 B ] (2) \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{C} & \mathbf{D}\end{bmatrix} = \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ \mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix} \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \tag{2} [ACBD]=[ICA10I][A0BDCA1B](2)
又有
[ A B 0 D − C A − 1 B ] → c 2 − c 1 A − 1 B [ A 0 0 D − C A − 1 B ] \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \xrightarrow{c_2 - c_1 {\mathbf{A}^{-1}} \mathbf{B}} \begin{bmatrix} \mathbf{A} &\mathbf{0}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} [A0BDCA1B]c2c1A1B [A00DCA1B]
写成矩阵乘的形式
[ A B 0 D − C A − 1 B ] [ I − A − 1 B 0 I ] = [ A 0 0 D − C A − 1 B ] (3) \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \begin{bmatrix} \mathbf{I} &-\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix}= \begin{bmatrix} \mathbf{A} &\mathbf{0}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \tag{3} [A0BDCA1B][I0A1BI]=[A00DCA1B](3)
易知
[ I − A − 1 B 0 I ] − 1 = [ I A − 1 B 0 I ] \begin{bmatrix} \mathbf{I} &-\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix}^{-1}= \begin{bmatrix} \mathbf{I} &\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix} [I0A1BI]1=[I0A1BI]
故 (3) 有
[ A B 0 D − C A − 1 B ] = [ A 0 0 D − C A − 1 B ] [ I A − 1 B 0 I ] (4) \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} =\begin{bmatrix} \mathbf{A} &\mathbf{0}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \begin{bmatrix} \mathbf{I} &\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix} \tag{4} [A0BDCA1B]=[A00DCA1B][I0A1BI](4)
(4) 代入 (2) 得到
[ A B C D ] = [ I 0 C A − 1 I ] [ A 0 0 D − C A − 1 B ] [ I A − 1 B 0 I ] (5) \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{C} & \mathbf{D}\end{bmatrix} = \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ \mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix} \begin{bmatrix} \mathbf{A} &\mathbf{0}\\ \mathbf{0} & \mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B}\end{bmatrix} \begin{bmatrix} \mathbf{I} &\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix} \tag{5} [ACBD]=[ICA10I][A00DCA1B][I0A1BI](5)
LDU 分解完成后, 矩阵求逆就比较简单
[ A B C D ] − 1 = [ I − A − 1 B 0 I ] [ A − 1 0 0 ( D − C A − 1 B ) − 1 ] [ I 0 − C A − 1 I ] (6) \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{C} & \mathbf{D}\end{bmatrix}^{-1} = \begin{bmatrix} \mathbf{I} &-\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix} \begin{bmatrix} \mathbf{A}^{-1} &\mathbf{0}\\ \mathbf{0} & (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\end{bmatrix} \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix} \tag{6} [ACBD]1=[I0A1BI][A100(DCA1B)1][ICA10I](6)
2 再对 M \mathbf{M} M 进行 UDL decomposition
[ A B C D ] → r 1 − B D − 1 r 2 [ A − B D − 1 C 0 C D ] \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \xrightarrow{r_1-{\mathbf{B}} \mathbf{D}^{-1} r_2} \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} [ACBD]r1BD1r2 [ABD1CC0D]
写成矩阵乘的形式
[ I − B D − 1 0 I ] [ A B C D ] = [ A − B D − 1 C 0 C D ] (7) \begin{bmatrix}\mathbf{I} &-\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix} \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix} = \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \tag{7} [I0BD1I][ACBD]=[ABD1CC0D](7)
易知
[ I − B D − 1 0 I ] − 1 = [ I B D − 1 0 I ] \begin{bmatrix}\mathbf{I} &-\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix}^{-1} = \begin{bmatrix}\mathbf{I} &\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix} [I0BD1I]1=[I0BD1I]
故 (7) 有
[ A B C D ] = [ I B D − 1 0 I ] [ A − B D − 1 C 0 C D ] (8) \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix} = \begin{bmatrix}\mathbf{I} &\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix} \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \tag{8} [ACBD]=[I0BD1I][ABD1CC0D](8)
又有
[ A − B D − 1 C 0 C D ] → c 1 − c 2 D − 1 C [ A − B D − 1 C 0 0 D ] \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \xrightarrow{c_1 - c_2 {\mathbf{D}^{-1}} \mathbf{C}} \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{0} &\mathbf{D} \end{bmatrix} [ABD1CC0D]c1c2D1C [ABD1C00D]
写成矩阵乘的形式
[ A − B D − 1 C 0 C D ] [ I 0 − D − 1 C I ] = [ A − B D − 1 C 0 0 D ] (9) \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ -{\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} = \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{0} &\mathbf{D} \end{bmatrix} \tag{9} [ABD1CC0D][ID1C0I]=[ABD1C00D](9)
易知
[ I 0 − D − 1 C I ] − 1 = [ I 0 D − 1 C I ] \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ -{\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} ^{-1} = \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ {\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} [ID1C0I]1=[ID1C0I]
故 (9) 有
[ A − B D − 1 C 0 C D ] = [ A − B D − 1 C 0 0 D ] [ I 0 D − 1 C I ] (10) \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{C} &\mathbf{D} \end{bmatrix} = \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{0} &\mathbf{D} \end{bmatrix} \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ {\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} \tag{10} [ABD1CC0D]=[ABD1C00D][ID1C0I](10)
(10) 代入 (8) 得到
[ A B C D ] = [ I B D − 1 0 I ] [ A − B D − 1 C 0 0 D ] [ I 0 D − 1 C I ] (11) \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix} = \begin{bmatrix}\mathbf{I} &\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix} \begin{bmatrix}\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}} &\mathbf{0}\\\mathbf{0} &\mathbf{D} \end{bmatrix} \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ {\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} \tag{11} [ACBD]=[I0BD1I][ABD1C00D][ID1C0I](11)
UDL 分解完成后, 矩阵求逆就比较简单
[ A B C D ] − 1 = [ I 0 − D − 1 C I ] [ ( A − B D − 1 C ) − 1 0 0 D − 1 ] [ I − B D − 1 0 I ] (12) \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix}^{-1} = \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ -{\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} \begin{bmatrix}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &\mathbf{0}\\\mathbf{0} &\mathbf{D}^{-1} \end{bmatrix} \begin{bmatrix}\mathbf{I} &-\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix} \tag{12} [ACBD]1=[ID1C0I][(ABD1C)100D1][I0BD1I](12)
3 对应项对比

由 LDU decomposition 得到 (6), 展开计算
[ A B C D ] − 1 = [ I − A − 1 B 0 I ] [ A − 1 0 0 ( D − C A − 1 B ) − 1 ] [ I 0 − C A − 1 I ] = [ A − 1 − A − 1 B ( D − C A − 1 B ) − 1 0 ( D − C A − 1 B ) − 1 ] [ I 0 − C A − 1 I ] = [ A − 1 + A − 1 B ( D − C A − 1 B ) − 1 C A − 1 − A − 1 B ( D − C A − 1 B ) − 1 − ( D − C A − 1 B ) − 1 C A − 1 ( D − C A − 1 B ) − 1 ] (13) \begin{aligned} \begin{bmatrix} \mathbf{A} &\mathbf{B}\\ \mathbf{C} & \mathbf{D}\end{bmatrix}^{-1} &= \begin{bmatrix} \mathbf{I} &-\mathbf{A}^{-1}\mathbf{B}\\ \mathbf{0} & \mathbf{I}\end{bmatrix} \begin{bmatrix} \mathbf{A}^{-1} &\mathbf{0}\\ \mathbf{0} & (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\end{bmatrix} \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix}\\ &= \begin{bmatrix} \mathbf{A}^{-1} &-\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\\ \mathbf{0} & (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\end{bmatrix} \begin{bmatrix} \mathbf{I} &\mathbf{0}\\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}\end{bmatrix}\\ &= \begin{bmatrix} \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} \mathbf{C}\mathbf{A}^{-1} &-\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\\ -(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\mathbf{C}\mathbf{A}^{-1} & (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\end{bmatrix} \end{aligned} \tag{13} [ACBD]1=[I0A1BI][A100(DCA1B)1][ICA10I]=[A10A1B(DCA1B)1(DCA1B)1][ICA10I]=[A1+A1B(DCA1B)1CA1(DCA1B)1CA1A1B(DCA1B)1(DCA1B)1](13)
由 UDL decomposition 得到 (12), 展开计算
[ A B C D ] − 1 = [ I 0 − D − 1 C I ] [ ( A − B D − 1 C ) − 1 0 0 D − 1 ] [ I − B D − 1 0 I ] = [ ( A − B D − 1 C ) − 1 0 − D − 1 C ( A − B D − 1 C ) − 1 D − 1 ] [ I − B D − 1 0 I ] = [ ( A − B D − 1 C ) − 1 − ( A − B D − 1 C ) − 1 B D − 1 − D − 1 C ( A − B D − 1 C ) − 1 D − 1 + D − 1 C ( A − B D − 1 C ) − 1 B D − 1 ] (14) \begin{aligned} \begin{bmatrix}\mathbf{A} &\mathbf{B}\\\mathbf{C} &\mathbf{D} \end{bmatrix}^{-1} &= \begin{bmatrix}\mathbf{I} &\mathbf{0}\\ -{\mathbf{D}^{-1}}\mathbf{C} &\mathbf{I} \end{bmatrix} \begin{bmatrix}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &\mathbf{0}\\\mathbf{0} &\mathbf{D}^{-1} \end{bmatrix} \begin{bmatrix}\mathbf{I} &-\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix}\\ &= \begin{bmatrix}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &\mathbf{0}\\-{\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &\mathbf{D}^{-1} \end{bmatrix} \begin{bmatrix}\mathbf{I} &-\mathbf{B}\mathbf{D}^{-1}\\\mathbf{0} &\mathbf{I} \end{bmatrix}\\ &= \begin{bmatrix}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &-(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1}\\-{\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} &\mathbf{D}^{-1} + {\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1} \end{bmatrix} \end{aligned} \tag{14} [ACBD]1=[ID1C0I][(ABD1C)100D1][I0BD1I]=[(ABD1C)1D1C(ABD1C)10D1][I0BD1I]=[(ABD1C)1D1C(ABD1C)1(ABD1C)1BD1D1+D1C(ABD1C)1BD1](14)
比较 (13) 和 (14) 使得各项对应相等, 得到
( A − B D − 1 C ) − 1 = A − 1 + A − 1 B ( D − C A − 1 B ) − 1 C A − 1 (15) (\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} = \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} \mathbf{C}\mathbf{A}^{-1} \tag{15} (ABD1C)1=A1+A1B(DCA1B)1CA1(15)

( D − C A − 1 B ) − 1 = D − 1 + D − 1 C ( A − B D − 1 C ) − 1 B D − 1 (16) (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} = \mathbf{D}^{-1} + {\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1} \tag{16} (DCA1B)1=D1+D1C(ABD1C)1BD1(16)

A − 1 B ( D − C A − 1 B ) − 1 = ( A − B D − 1 C ) − 1 B D − 1 (17) \mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1} = (\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \mathbf{B}\mathbf{D}^{-1} \tag{17} A1B(DCA1B)1=(ABD1C)1BD1(17)

( D − C A − 1 B ) − 1 C A − 1 = D − 1 C ( A − B D − 1 C ) − 1 (18) (\mathbf{D}-\mathbf{C}{\mathbf{A}^{-1}}\mathbf{B})^{-1}\mathbf{C}\mathbf{A}^{-1} = {\mathbf{D}^{-1}}\mathbf{C}(\mathbf{A}- {\mathbf{B}} {\mathbf{D}^{-1}}{\mathbf{C}})^{-1} \tag{18} (DCA1B)1CA1=D1C(ABD1C)1(18)

如果设 D = I \mathbf{D} = \mathbf{I} D=I, B ‾ = − B \overline{\mathbf{B}} = -\mathbf{B} B=B 代入 (15) 得到
( A + B ‾ C ) − 1 = A − 1 − A − 1 B ‾ ( I + C A − 1 B ‾ ) − 1 C A − 1 (19) (\mathbf{A}+ {\overline{\mathbf{B}}} {\mathbf{C}})^{-1} = \mathbf{A}^{-1} - \mathbf{A}^{-1}\overline{\mathbf{B}}(\mathbf{I}+\mathbf{C}{\mathbf{A}^{-1}}\overline{\mathbf{B}})^{-1} \mathbf{C}\mathbf{A}^{-1} \tag{19} (A+BC)1=A1A1B(I+CA1B)1CA1(19)
形式上整理为
( A + B C ) − 1 = A − 1 − A − 1 B ( I + C A − 1 B ) − 1 C A − 1 (20) (\mathbf{A}+ {{\mathbf{B}}} {\mathbf{C}})^{-1} = \mathbf{A}^{-1} - \mathbf{A}^{-1}{\mathbf{B}}(\mathbf{I}+\mathbf{C}{\mathbf{A}^{-1}}{\mathbf{B}})^{-1} \mathbf{C}\mathbf{A}^{-1} \tag{20} (A+BC)1=A1A1B(I+CA1B)1CA1(20)

参考文献

[1] Hu Pili, Matrix Calculus: Derivation and Simple Application, https://project.hupili.net/tutorial/hu2012-matrix-calculus/hu2012matrix-calculus.pdf

[2] J. A. Dobelman, D Matrix Calculus, https://www.stat.rice.edu/~dobelman/notes_papers/math/Matrix.Calculus.AppD.pdf

[3] Timothy D. Barfoot, State Estimation for Robotics, Cambridge University Press, 2017

[4] Wolfram MathWorld, Vector Triple Product, https://mathworld.wolfram.com/VectorTripleProduct.html

[5] Chris Yeh, Schur Complements and the Matrix Inversion Lemma, https://chrisyeh96.github.io/2021/05/19/schur-complement.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值