旋转矩阵,矩阵,共轭矩阵
- 1.旋转矩阵
-
- 1. 旋转矩阵简介
- 2. 性质
- 3. 二维空间
-
- 4. 三维空间
-
- 4.1 旋转
- 4.2 角-轴表示和四元数表示
- 4.3 欧拉角表示
- 4.4 对称保持 SVD 表示
- 5 .其他
-
- 2 矩阵
-
- 2.1 定义
- 2.2 矩阵的基本运算
- 2.3 矩阵乘法
- 2.4 线性方程组
- 2.5 线性变换
- 2.6 方块矩阵
-
- 2.6.1 方阵
- 2.6.2 行列式
- 2.6.3 特征值与特征向量
- 2.6.4 对称
- 2.6.5 正定性
- 2.7 矩阵的计算
-
- 2.8 矩阵的推广
- 2.9 雅克比矩阵
- 3.共轭转置
-
1.旋转矩阵
1. 旋转矩阵简介
中文维基百科
英文维基百科
- 旋转矩阵(英语:Rotation matrix)是在乘以一个向量的时候有改变向量的方向但不改变大小的效果并保持了手性的矩阵。旋转矩阵不包括点反演,点反演可以改变手性,也就是把右手坐标系改变成左手坐标系或反之。所有旋转加上反演形成了正交矩阵 ( Q T = Q − 1 ⇔ Q T Q = Q Q T = I . Q^{T}=Q^{-1}\Leftrightarrow Q^{T}Q=QQ^{T}=I.\,\! QT=Q−1⇔QTQ=QQT=I.)的集合。旋转可分为主动旋转与被动旋转。主动旋转是指将向量逆时针围绕旋转轴所做出的旋转。被动旋转是对坐标轴本身进行的逆时针旋转,它相当于主动旋转的逆操作。
2. 性质
设 M {\displaystyle \mathbf {M} } M是任何维的一般旋转矩阵: M ∈ R n × n {\displaystyle \mathbf {M} \in \mathbb {R} ^{n\times n}} M∈Rn×n
- 两个向量的点积(内积)在它们都被一个旋转矩阵操作之后保持不变:
a ⊤ ⋅ b = ( M a ) ⊤ ⋅ M b {\displaystyle \mathbf {a} ^{\top }\cdot \mathbf {b} =\mathbf {(Ma)} ^{\top }\cdot \mathbf {M} \mathbf {b} } a⊤⋅b=(Ma)⊤⋅Mb
- 从而得出旋转矩阵的逆矩阵是它的转置矩阵:
M M − 1 = M M ⊤ = I \mathbf {M} \,\mathbf {M} ^{-1}=\mathbf {M} \,\mathbf {M} ^{\top }={\mathcal {I}} MM−1=MM⊤=I ,这里的 I {\displaystyle {\mathcal {I}}} I 是单位矩阵。
- 一个矩阵是旋转矩阵,当且仅当它是正交矩阵并且它的行列式是单位一。正交矩阵的行列式是 ±1;如果行列式是 −1,则它包含了一个反射而不是真旋转矩阵。
- 旋转矩阵是正交矩阵,如果它的列向量形成 R n {\displaystyle \mathbb {R} ^{n}} Rn的一个正交基,就是说在任何两个列向量之间的标量积是零(正交性)而每个列向量的大小是单位一(单位向量)。
- 任何旋转向量可以表示为斜对称矩阵( A T = − A A^T = − A AT=−A) A的指数: M = exp ( A ) = ∑ k = 0 ∞ A k k ! \mathbf {M} =\exp(\mathbf {A} )=\sum _{k=0}^{\infty }{\frac {\mathbf {A} ^{k}}{k!}} M=exp(A)=k=0∑∞k!Ak
这里的指数是以泰勒级数定义的而 A k {\displaystyle \mathbf {A} ^{k}} Ak是以矩阵乘法定义的。A 矩阵叫做旋转的“生成元”。旋转矩阵的李代数是它的生成元的代数,它就是斜对称矩阵的代数。生成元可以通过 M 的矩阵对数来找到。
3. 二维空间
- 在二维中,标准旋转矩阵具有以下形式: R ( θ ) = [ cos θ − sin θ sin θ cos θ ] {\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}} R(θ)=[cosθsinθ−sinθcosθ]
- 通过以下矩阵乘法旋转列向量: [ x ′ y ′ ] = [ cos θ − sin θ sin θ cos θ ] [ x y ] {{\displaystyle {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}}} [x′y′]=[cosθsinθ−sinθcosθ][xy]
- 一般而言,旋转后的点(x,y)的新坐标(x’,y’)为: x ′ = x cos θ − y sin θ y ′ = x sin θ + y cos θ {{\displaystyle {\begin{aligned}x'&=x\cos \theta -y\sin \theta \,\\y'&=x\sin \theta +y\cos \theta \,\end{aligned}}}} x′y′=xcosθ−ysinθ=xsinθ+ycosθ
-
- 如果θ为正(例如90°),矢量旋转方向为逆时针;如果θ为负(例如-90°),矢量旋转方向为顺时针。因此,顺时针旋转矩阵为: R ( − θ ) = [ cos θ sin θ − sin θ cos θ ] {{\displaystyle R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}\,}} R(−θ)=[cosθ−sinθsinθcosθ]
3.1 普通旋转
- 矩阵特别旋转90°,180°,270°: [ − 1 0 0 − 1 ] , [ 0 1 − 1 0 ] [ 0 1 − 1 0 ] { {\displaystyle {\begin{bmatrix}-1&0\\[3pt]0&-1\\\end{bmatrix}}}, {\displaystyle {\begin{bmatrix}0&1\\[3pt]-1&0\\\end{bmatrix}}} {\displaystyle {\begin{bmatrix}0&1\\[3pt]-1&0\\\end{bmatrix}}}} [−100−1],[0−110][0−110]
3.2 复平面
- 由于: ( 0 1 − 1 0 ) 2 = ( − 1 0 0 − 1 ) { {\displaystyle {\begin{pmatrix}0&1\\-1&0\end{pmatrix}}^{2}\ =\ {\begin{pmatrix}-1&0\\0&-1\end{pmatrix}}}} (0−110)2 = (−100−1),矩阵平面 ( x y − y x ) {\displaystyle {\begin{pmatrix}x&y\\-y&x\end{pmatrix}}} (x−yyx)是复数平面的同类型。
z和其共轭z̅在复平面上的几何表示。从原点到点z沿淡蓝色线的距离是z的模数或绝对值。角度φ是z的自变量。
4. 三维空间
- 在三维空间中,旋转矩阵有一个等于单位1的实特征值。旋转矩阵指定关于对应的特征向量的旋转(欧拉旋转定理)。如果旋转角是 θ,则旋转矩阵的另外两个(复数)特征值是 exp(iθ) 和 exp(-iθ)。从而得出 3 维旋转的迹数等于 1 + 2 cos(θ),这可用来快速的计算任何 3 维旋转的旋转角。
- 3 维旋转矩阵的生成元是三维斜对称矩阵。因为只需要三个实数来指定 3 维斜对称矩阵,得出只用三个实数就可以指定一个 3 维旋转矩阵。
4.1 旋转
生成旋转矩阵的一种简单方式是把它作为三个基本旋转的序列复合。关于右手笛卡尔坐标系的 x-, y- 和 z-轴的旋转分别叫做 roll, pitch 和 yaw 旋转。因为这些旋转被表达为关于一个轴的旋转,它们的生成元很容易表达。
- 绕 x-轴的主动旋转定义为:
R x ( θ x ) = [ 1 0 0 0 cos θ x − sin θ x 0 sin θ x cos θ x ] = exp ( θ x [ 0 0 0 0 0 − 1 0 1 0 ] ) {\displaystyle {\mathcal {R}}_{x}(\theta _{x})={\begin{bmatrix}1&0&0\\0&\cos {\theta _{x}}&-\sin {\theta _{x}}\\0&\sin {\theta _{x}}&\cos {\theta _{x}}\end{bmatrix}}=\exp \left(\theta _{x}{\begin{bmatrix}0&0&0\\0&0&-1\\0&1&0\end{bmatrix}}\right)} Rx(θx)=⎣⎡1000cosθxsinθx0−sinθxcosθx⎦⎤=exp⎝⎛θx⎣⎡0000010−10⎦⎤⎠⎞,这里的 θ x {\displaystyle \theta _{x}} θx 是 roll 角,和右手螺旋的方向相同(在yz平面逆时针)
- 绕 y-轴的主动旋转定义为:
R y ( θ y ) = [ cos θ y 0 sin θ y 0 1 0 − sin θ y 0 cos θ y ] = exp ( θ y [ 0 0 1 0 0 0 − 1 0 0 ] ) {\displaystyle {\mathcal {R}}_{y}(\theta _{y})={\begin{bmatrix}\cos {\theta _{y}}&0&\sin {\theta _{y}}\\0&1&0\\-\sin {\theta _{y}}&0&\cos {\theta _{y}}\end{bmatrix}}=\exp \left(\theta _{y}{\begin{bmatrix}0&0&1\\0&0&0\\-1&0&0\end{bmatrix}}\right)} Ry(θy)=⎣⎡cosθy0−sinθy010sinθy0cosθy⎦⎤=exp⎝⎛θy⎣⎡00−1000100⎦⎤⎠⎞,这里的 θ y {\displaystyle \theta _{y}} θy 是 pitch 角,和右手螺旋的方向相同(在zx平面逆时针)
- 绕 z-轴的主动旋转定义为:
R z ( θ z ) = [ cos θ z − sin θ z 0 sin θ z cos θ z 0 0 0 1 ] = exp ( θ z [ 0 − 1 0 1 0 0 0 0 0 ] ) {\displaystyle {\mathcal {R}}_{z}(\theta _{z})={\begin{bmatrix}\cos {\theta _{z}}&-\sin {\theta _{z}}&0\\\sin {\theta _{z}}&\cos {\theta _{z}}&0\\0&0&1\end{bmatrix}}=\exp \left(\theta _{z}{\begin{bmatrix}0&-1&0\\1&0&0\\0&0&0\end{bmatrix}}\right)} Rz(θz)=⎣⎡cosθzsinθz0−sinθzcosθz0001⎦⎤=exp⎝⎛θz⎣⎡010−100000⎦⎤⎠⎞,这里的 θ z {\displaystyle \theta _{z}} θz 是 yaw 角,和右手螺旋的方向相同(在xy平面逆时针)。
在飞行动力学中,roll, pitch 和 yaw 角通常分别采用符号 γ , α , β \gamma,\alpha,\beta γ,α,β ;但是为了避免混淆于欧拉角这里使用符号 θ x , θ y 和 θ z {\displaystyle \theta _{x}} , {\displaystyle \theta _{y}} 和 {\displaystyle \theta _{z}} θx,θy和θz。
4.2 角-轴表示和四元数表示
在三维中,旋转可以通过单一的旋转角 θ \theta θ 和所围绕的单位向量方向 v ^ = ( x , y , z ) {\displaystyle {\hat {\mathbf {v} }}=(x,y,z)} v^=(x,y,z)来定义。
M ( v ^ , θ ) = [ cos θ + ( 1 − cos θ ) x 2 ( 1 − cos θ ) x y − ( sin θ ) z ( 1 − cos θ ) x z + ( sin θ ) y ( 1 − cos θ ) y x + ( sin θ ) z cos θ + ( 1 − cos θ ) y 2 ( 1 − cos θ ) y z − ( sin θ ) x ( 1 − cos θ ) z x − ( sin θ ) y ( 1 − cos θ ) z y + ( sin θ ) x cos θ + ( 1 − cos θ ) z 2 ] {\mathcal {M}}({\hat {\mathbf {v} }},\theta )={\begin{bmatrix}\cos \theta +(1-\cos \theta )x^{2}&(1-\cos \theta )xy-(\sin \theta )z&(1-\cos \theta )xz+(\sin \theta )y\\(1-\cos \theta )yx+(\sin \theta )z&\cos \theta +(1-\cos \theta )y^{2}&(1-\cos \theta )yz-(\sin \theta )x\\(1-\cos \theta )zx-(\sin \theta )y&(1-\cos \theta )zy+(\sin \theta )x&\cos \theta +(1-\cos \theta )z^{2}\end{bmatrix}} M(v^,θ)=⎣⎡cosθ+(1−cosθ)x2(1−cosθ)yx+(sinθ)z(1−cosθ)zx−(sinθ)y(1−cosθ)xy−(sinθ)zcosθ+(1−cosθ)y2(1−cosθ)zy+(sinθ)x(1−cosθ)xz+(sinθ)y(1−cosθ)yz−(sinθ)xcosθ+(1−cosθ)z2⎦⎤
4.3 欧拉角表示
在三维空间中,旋转可以通过三个欧拉角 ( α , β , γ ) {\displaystyle (\alpha ,\beta ,\gamma )} (α,β,γ)来定义。有一些可能的欧拉角定义,每个都可以依据 roll, pitch 和 yaw 的复合来表达。依据 “x-y-z” 欧拉角,在右手笛卡尔坐标中的旋转矩阵可表达为:
M ( α , β , γ ) = [ cos γ − sin γ 0 sin γ cos γ 0 0 0 1 ] [ cos β 0 sin β 0 1 0 − sin β 0 cos β ] [ 1 0 0 0 cos α − sin α 0 sin α cos α ] = [ cos γ cos β − sin γ cos γ sin β sin γ cos β cos γ sin γ sin β − sin β 0 cos β ] [ 1 0 0 0 cos α − sin α 0 sin α cos α ] = [ cos γ cos β − sin γ cos α + cos γ sin β sin α sin γ sin α + cos γ sin β cos α sin γ cos β cos γ cos α + sin γ sin β sin α − cos γ sin α + sin γ sin β cos α − sin β cos β sin α cos β cos α ] {\displaystyle {\begin{aligned}{\mathcal {M}}(\alpha ,\beta ,\gamma )&={\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\end{bmatrix}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \end{bmatrix}}{\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{bmatrix}}\\&={\begin{bmatrix}\cos \gamma \cos \beta &-\sin \gamma &\cos \gamma \sin \beta \\\sin \gamma \cos \beta &\cos \gamma &\sin \gamma \sin \beta \\-\sin \beta &0&\cos \beta \end{bmatrix}}{\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{bmatrix}}\\&={\begin{bmatrix}\cos \gamma \cos \beta &-\sin \gamma \cos \alpha +\cos \gamma \sin \beta \sin \alpha &\sin \gamma \sin \alpha +\cos \gamma \sin \beta \cos \alpha \\\sin \gamma \cos \beta &\cos \gamma \cos \alpha +\sin \gamma \sin \beta \sin \alpha &-\cos \gamma \sin \alpha +\sin \gamma \sin \beta \cos \alpha \\-\sin \beta &\cos \beta \sin \alpha &\cos \beta \cos \alpha \end{bmatrix}}\end{aligned}}} M(α,β,γ)=⎣⎡cosγsinγ0−sinγcosγ0001⎦⎤⎣⎡cosβ0−sinβ010sinβ0cosβ⎦⎤⎣⎡1000cosαsinα0−sinαcosα⎦⎤=⎣⎡cosγcosβsinγcosβ−sinβ−sinγcosγ0cosγsinβsinγsinβcosβ⎦⎤⎣⎡1000cosαsinα0−sinαcosα⎦⎤=⎣⎡cosγcosβsinγcosβ−sinβ−sinγcosα+cosγsinβsinαcosγcosα+sinγsinβsinαcosβsinαsinγsinα+cosγsinβcosα−cosγsinα+sinγsinβcosαcosβcosα⎦⎤
4.4 对称保持 SVD 表示
对旋转轴 q {\displaystyle q} q和旋转角 θ {\displaystyle \theta } θ ,旋转矩阵
M = q q T + Q G Q T {\displaystyle {\mathcal {M}}=qq^{T}+QGQ^{T}} M=qqT+QGQT
5 .其他
5.1 旋转轴
如果使用标准的右手笛卡尔坐标系,则x轴朝右,y轴朝上,则旋转R(θ)为逆时针方向。 如果使用左手笛卡尔坐标系,其中x指向右侧但y指向下方,则R(θ)为顺时针方向。 这样的非标准方向在数学中很少使用,但在2D计算机图形学中很常见,这些图形的原点通常位于屏幕或页面的左上角和y轴上。
5.2 叉乘计算
∥ a × b ∥ = ∥ a ∥ ∥ b ∥ sin θ . {\displaystyle \left\|\mathbf {a} \times \mathbf {b} \right\|=\left\|\mathbf {a} \right\|\left\|\mathbf {b} \right\|\sin \theta .} ∥a×b∥=∥a∥∥b∥sinθ., d d t ( a × b ) = d a d t × b + a × d b d t , {\displaystyle {\frac {d}{dt}}(\mathbf {a} \times \mathbf {b} )={\frac {d\mathbf {a} }{dt}}\times \mathbf {b} +\mathbf {a} \times {\frac {d\mathbf {b} }{dt}},} dtd(a×b)=dtda×b+a×dtdb,, a × b = [ a ] × b = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] [ b 1 b 2 b 3 ] {\displaystyle \mathbf {a} \times \mathbf {b} =[\mathbf {a} ]_{\times }\mathbf {b} ={\begin{bmatrix}\,0&\!-a_{3}&\,\,a_{2}\\\,\,a_{3}&0&\!-a_{1}\\-a_{2}&\,\,a_{1}&\,0\end{bmatrix}}{\begin{bmatrix}b_{1}\\b_{2}\\b_{3}\end{bmatrix}}} a×b=[a]×b=⎣⎡0a3−a2−a30a1a2−a10⎦⎤⎣⎡b1b2b3⎦⎤
====
2 矩阵
2.1 定义
- 将一些元素排列成若干行,每行放上相同数量的元素,就是一个矩阵。这里说的元素可以是数字,例如以下的矩阵:
A = [ 9 13 5 1 11 7 3 9 2 6 0 7 ] \mathbf{A} = \begin{bmatrix} 9 & 13 & 5 \\ 1 & 11 & 7 \\ 3 & 9 & 2 \\ 6 & 0 & 7 \end{bmatrix} A=⎣⎢⎢⎡91361311905727⎦⎥⎥⎤
排列成的形状是矩形,所以称为矩阵。在中国大陆,横向的元素组称为“行”,纵向称为“列”,
- 行数是1或列数是1的矩阵又可分别称为行向量和列向量。这是因为一个向量可以表示成行数或列数是1的矩阵形式。矩阵的任一行/列都是一个行/列向量
2.2 矩阵的基本运算
- 矩阵的最基本运算包括矩阵加(减)法,数乘和转置运算。被称为“矩阵加法”、“数乘”和“转置”的运算不止一种[14],其中最基本最常用的定义如下:
- 矩阵的加法运算满足交换律:${\displaystyle \mathbf {A} +\mathbf {B} =\mathbf {B} +\mathbf {A} }。矩阵的转置和数乘运算对加法满足分配律:
( A + B ) T = A T + B T {\displaystyle (\mathbf {A} +\mathbf {B} )^{\mathrm {T} }=\mathbf {A} ^{\mathrm {T} }+\mathbf {B} ^{\mathrm {T} }} (A+B)T=AT+BT
c ( A + B ) = c A + c B {\displaystyle c(\mathbf {A} +\mathbf {B} )=c\mathbf {A} +c\mathbf {B} } c(A+B)=cA+cB
- 矩阵加法和数乘两种运算使得 M ( m , n , R ) {\displaystyle {\mathcal {M}}(m,n,\mathbb {R} )} M(m,n,R)成为一个 m n {\displaystyle mn} mn维的实数线性空间。而转置和数乘运算满足类似于结合律的规律:
c ( A T ) = c ( A ) T {\displaystyle c(\mathbf {A} ^{\mathrm {T} })=c(\mathbf {A} )^{\mathrm {T} }} c(AT)=c(A)T
- 矩阵也有类似行列式的初等变换,即对矩阵的某些行和某些列进行三类操作:交换两行/列,将一行/列的每个元素都乘以一个固定的量,以及将一行/列的每个元素乘以一个固定的量之后加到另一行/列的相应元素上。这些操作在求其逆矩阵时有用。
2.3 矩阵乘法
- 两个矩阵的乘法仅当第一个矩阵 A {\displaystyle \mathbf {A} } A的列数(column)和另一个矩阵 B {\displaystyle \mathbf {B} } B的行数(row)相等时才能定义。如 A {\displaystyle \mathbf {A} } A是 m × n {\displaystyle m\times n} m×n矩阵和 B {\displaystyle \mathbf {B} } B 是 n × p {\displaystyle n\times p} n×p矩阵,它们的乘积 A B {\displaystyle \mathbf {AB} } AB是一个 m × p {\displaystyle m\times p} m×p矩阵,它的一个元素: [ A B ] i , j = A i , 1 B 1 , j + A i , 2 B 2 , j + ⋯ + A i , n B n , j = ∑ r = 1 n A i , r B r , j { [\mathbf{AB}]_{i,j} = A_{i,1}B_{1,j} + A_{i,2}B_{2,j} + \cdots + A_{i,n}B_{n,j} = \sum_{r=1}^n A_{i,r}B_{r,j}} [AB]i,j=Ai,1B1,j+Ai,2B2,j+⋯+Ai,nBn,j=r=1∑nAi,rBr,j
例如:
[ 1 0 2 − 1 3 1 ] × [ 3 1 2 1 1 0 ] = [ ( 1 × 3 + 0 × 2 + 2 × 1 ) ( 1 × 1 + 0 × 1 + 2 × 0 ) ( − 1 × 3 + 3 × 2 + 1 × 1 ) ( − 1 × 1 + 3 × 1 + 1 × 0 ) ] = [ 5 1 4 2 ] \begin{bmatrix} 1 & 0 & 2 \\ -1 & 3 & 1 \\ \end{bmatrix} \times \begin{bmatrix} 3 & 1 \\ 2 & 1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} (1 \times 3 + 0 \times 2 + 2 \times 1) & (1 \times 1 + 0 \times 1 + 2 \times 0) \\ (-1 \times 3 + 3 \times 2 + 1 \times 1) & (-1 \times 1 + 3 \times 1 + 1 \times 0) \\ \end{bmatrix} = \begin{bmatrix} 5 & 1 \\ 4 & 2 \\ \end{bmatrix} [1−10321]×⎣⎡321110⎦⎤=[(1×3+0×2+2×1)(−1×3+3×2+1×1)(1×1+0×1+2×0)(−1×1+3×1+1×0)]=[5412]
- 矩阵的乘法满足结合律和对矩阵加法的分配律(左分配律和右分配律):
结合律: ( A B ) C = A ( B C ) {\displaystyle (\mathbf {AB} )\mathbf {C} =\mathbf {A} (\mathbf {BC} )} (AB)C=A(BC)
左分配律: ( A + B ) C = A C + B C {\displaystyle (\mathbf {A} +\mathbf {B} )\mathbf {C} =\mathbf {AC} +\mathbf {BC} } (A+B)C=AC+BC
右分配律: C ( A + B ) = = C A + C B C(A + B) {\displaystyle =} = CA + CB C(A+B)==CA+CB.
- 矩阵的乘法与数乘运算之间也满足类似结合律的规律;与转置之间则满足倒置的分配律。
c ( A B ) = ( c A ) B = A ( c B ) {\displaystyle c(\mathbf {AB} )=(c\mathbf {A} )\mathbf {B} =\mathbf {A} (c\mathbf {B} )} c(AB)=(cA)B=A(cB)
( A B ) T = B T A T {\displaystyle (\mathbf {AB} )^{\mathrm {T} }=\mathbf {B} ^{\mathrm {T} }\mathbf {A} ^{\mathrm {T} }} (AB)T=BTAT
- 矩阵乘法不满足交换律:
A B ≠ B A {\displaystyle \mathbf {AB} \neq \mathbf {BA} } AB=BA
2.4 线性方程组
- 矩阵乘法的一个基本应用是在线性方程组上。线性方程组是方程组的一种,它符合以下的形式:
{ a 1 , 1 x 1 + a 1 , 2 x 2 + ⋯ + a 1 , n x n = b 1 a 2 , 1 x 1 + a 2 , 2 x 2 + ⋯ + a 2 , n x n = b 2 ⋮ ⋮ a m , 1 x 1 + a m , 2 x 2 + ⋯ + a m , n x n = b m \begin{cases}a_{1,1}x_{1} + a_{1,2}x_{2} + \cdots + a_{1,n}x_{n}= b_{1} \\ a_{2,1}x_{1} + a_{2,2}x_{2} + \cdots + a_{2,n}x_{n}= b_{2} \\ \vdots \quad \quad \quad \vdots \\ a_{m,1}x_{1} + a_{m,2}x_{2} + \cdots + a_{m,n}x_{n}= b_{m} \end{cases} ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧a1,1x1+a1,2x2+⋯+a1,nxn=b1a2,1x1+a2,2x2+⋯+a2,nxn=b2⋮⋮am,1x1+am,2x2+⋯+am,nxn=bm
- 其中的 a 1 , 1 , a 1 , 2 {\displaystyle a_{1,1},\,a_{1,2}} a1,1,a1,2以及 b 1 , b 2 {\displaystyle b_{1},\,b_{2}} b1,b2等等是已知的常数,而 x 1 , x 2 {\displaystyle x_{1},\,x_{2}} x1,x2等等则是要求的未知数。运用矩阵的方式,可以将线性方程组写成一个向量方程:
A x = b \mathbf{A} \mathbf{x} = \mathbf{b} Ax=b
其中, A {\displaystyle \mathbf {A} } A是由方程组里未知量的系数排成的 m × n {\displaystyle m\times n} m×n矩阵, x {\displaystyle \mathbf {x} } x是含有 n {\displaystyle n} n个元素的行向量, b {\displaystyle \mathbf {b} } b是含有 m {\displaystyle m} m个元素的行向量:
A = [ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a m , 1 a m , 2 ⋯ a m , n ] , x = [ x 1 x 2 ⋮ x n ] , b = [ b 1 b 2 ⋮ b m ] \mathbf{A} = \begin{bmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{bmatrix},\quad \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix},\quad \mathbf{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{bmatrix} A=⎣⎢⎢⎢⎡a1,1a2,1⋮am,1a1,2a2,2⋮am,2⋯⋯⋱⋯a1,na2,n⋮am,n⎦⎥⎥⎥⎤,x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤,b=⎣⎢⎢⎢⎡b1b2⋮bm⎦⎥⎥⎥⎤
2.5 线性变换
- 矩阵是线性变换的便利表达法。矩阵乘法的本质在联系到线性变换的时候最能体现,因为矩阵乘法和线性变换的合成有以下的联系: 以 R n {\displaystyle \mathbb {R} ^{n}} Rn表示所有长度为 n {\displaystyle n} n的行向量的集合。每个 m × n {\displaystyle m\times n} m×n的矩阵 A {\displaystyle \mathbf {A} } A都代表了一个从 R n {\displaystyle \mathbb {R} ^{n}} Rn射到 R m {\displaystyle \mathbb {R} ^{m}} Rm的线性变换。
- 反过来,对每个线性变换 f : R n → R m {\displaystyle f:\mathbb {R} ^{n}\rightarrow \mathbb {R} ^{m}} f:Rn→Rm,都存在唯一m×n矩阵 A f {\displaystyle \mathbf {A} _{f}} Af使得对所有 R n {\displaystyle \mathbb {R} ^{n}} Rn中的元素 x {\displaystyle x} x, f ( x ) = A f x {\displaystyle f(x)=A_{f}x} f(x)=Afx 。这个矩阵 A f {\displaystyle \mathbf {A} _{f}} Af第 i {\displaystyle i} i行第 j {\displaystyle j} j列上的元素是正则基向量 e j = ( 0 , ⋯ , 0 , 1 , 0 , ⋯ 0 ) T {\displaystyle \mathbf {e} _{j}=(0,\cdots ,0,1,0,\cdots 0)^{T}} ej=(0,⋯,0,1,0,⋯0)T(第j个元素是1,其余元素是0的向量)在 f {\displaystyle f} f映射后的向量 f ( e j ) {\displaystyle f(\mathbf {e} _{j})} f(ej)的第 i {\displaystyle i} i个元素。
- 以下是一些典型的2维实平面上的线性变换对平面向量(图形)造成的效果,以及它们对应的2维矩阵。其中每个线性变换将蓝色图形映射成绿色图形;平面的原点(0, 0)用黑点表示。
- 矩阵的秩是指矩阵中线性无关的行/列向量的最大个数,同时也是矩阵对应的线性变换的像空间的维度[22]。秩-零化度定理说明矩阵的列数量等于矩阵的秩与零空间维度之和[23]。
2.6 方块矩阵
2.6.1 方阵
- 行数与列数相同的矩阵称为方块矩阵,简称方阵。所有 n n n维的方块矩阵构成一个线性空间,这个空间对矩阵乘法也是封闭的,因此也是一个代数。方阵 A {\displaystyle \mathbf {A} } A称为可逆或非奇异的,如果存在另一个方阵 B {\displaystyle \mathbf {B} } B ,使得
A B = I n {\displaystyle \mathbf {AB} =\mathbf {I} _{n}} AB=In
成立。这时候可以证明也有 B A = I n {\displaystyle \mathbf {BA} =\mathbf {I} _{n}} BA=In成立[24],可将矩阵 B {\displaystyle \mathbf {B} } B 称为 A {\displaystyle \mathbf {A} } A的逆矩阵[25]。一个矩阵 A {\displaystyle \mathbf {A} } A的逆矩阵如果存在的话,就是唯一的,通常记作 A − 1 {\displaystyle \mathbf {A} ^{-1}} A−1。
- 矩阵 A {\displaystyle \mathbf {A} } A的元素 A i , i {\displaystyle A_{i,i}} Ai,i称为其主对角线上的元素。方块矩阵 A {\displaystyle \mathbf {A} } A的所有主对角线元素之和称为它的迹,写作 t r ( A ) {\displaystyle \mathrm {tr}}(\displaystyle A) tr(A)
尽管矩阵的乘法不满足交换律,方阵相乘时交换顺序会导致乘积变化,但它们的迹不会变,即 t r ( A B ) = t r ( B A ) {\displaystyle \mathrm {tr} (\mathbf {AB} )=\mathrm {tr} (\mathbf {BA} )} tr(AB)=tr(BA)
矩阵转置的迹等于其自身的迹, t r ( A ) = t r ( A T ) {\displaystyle \mathrm {tr} (\mathbf {A} )=\mathrm {tr} (\mathbf {A} ^{\mathrm {T} })} tr(A)=tr(AT)
2.6.2 行列式
- 方块矩阵 A {\displaystyle \mathbf {A} } A的行列式是一个将其映射到标量的函数,记作 det ( A ) {\displaystyle \det(\mathbf {A} )} det(A)或 ∣ A ∣ {\displaystyle \mathbf {|A|} } ∣A∣,反映了矩阵自身的一定特性。一个方阵的行列式等于0当且仅当该方阵不可逆。系数是实数的时候,二维(三维)方阵 A {\displaystyle \mathbf {A} } A的行列式的绝对值表示单位面积(体积)的图形经过 A {\displaystyle \mathbf {A} } A对应的线性变换后得到的图形的面积(体积),而它的正负则代表了对应的线性变换是否改变空间的定向:行列式为正说明它保持空间定向,行列式为负则说明它逆转空间定向。
- 两个矩阵相乘,乘积的行列式等于它们的行列式的乘积: det ( A B ) = det ( A ) ⋅ det ( B ) {\displaystyle \det(\mathbf {AB} )=\det(\mathbf {A} )\cdot \det(\mathbf {B} )} det(AB)=det(A)⋅det(B)。将矩阵的一行/列乘以某个系数加到另一行/列上不改变矩阵的行列式,将矩阵的两行/列互换则使得其行列式变号[30]。用这两种操作可以将矩阵变成一个上三角矩阵或下三角矩阵,而后两种矩阵的行列式就是主对角线上元素的乘积,因此能方便地计算。运用行列式可以计算线性方程组的解(见克莱姆法则)[31]。
2.6.3 特征值与特征向量
- n × n n\times n n×n的方块矩阵 A {\displaystyle \mathbf {A} } A的一个特征值和对应特征向量是满足:
A v = λ v {{\displaystyle \mathbf {Av} =\lambda \mathbf {v} }} Av=λv的标量 λ {\displaystyle \lambda } λ以及非零向量 v {\displaystyle \mathbf {v} } v。特征值和特征向量的概念对研究线性变换很有帮助。一个线性变换可以通过它对应的矩阵在向量上的作用来可视化。
- 一般来说,一个向量在经过映射之后可以变为任何可能的向量,而特征向量具有更好的性质。
- 假设在给定的基底下,一个线性变换对应着某个矩阵 A {\displaystyle \mathbf {A} } A,如果一个向量 x {\displaystyle \mathbf {x} } x可以写成矩阵的几个特征向量的线性组合:
x = c 1 x λ 1 + c 2 x λ 2 + ⋯ + c k x λ k {\displaystyle \mathbf {x} =c_{1}\mathbf {x} _{\lambda _{1}}+c_{2}\mathbf {x} _{\lambda _{2}}+\cdots +c_{k}\mathbf {x} _{\lambda _{k}}} x=c1xλ1+c2xλ2+⋯+ckxλk
- 其中的 x λ i {\displaystyle \mathbf {x} _{\lambda _{i}}} xλi表示此向量对应的特征值是 λ i {\displaystyle \lambda _{i}} λi,那么向量 x {\displaystyle \mathbf {x} } x经过线性变换后会变成:
A x = c 1 λ 1 x λ 1 + c 2 λ 2 x λ 2 + ⋯ + c k λ k x λ k \mathbf{Ax} = c_1 \lambda_1 \mathbf{x}_{\lambda_1} + c_2 \lambda_2 \mathbf{x}_{\lambda_2} + \cdots + c_k \lambda_k \mathbf{x}_{\lambda_k} Ax=c1λ1xλ1+c2λ2xλ2+⋯+ckλkxλk
可以清楚地知道变换后向量的结构。
2.6.4 对称
- 对称 : A = A T {\displaystyle \mathbf {A} =\mathbf {A} ^{\mathrm {T} }} A=AT
- 反对称 : A = − A T {\displaystyle \mathbf {A} =- \mathbf {A} ^{\mathrm {T} }} A=−AT
- 在复系数矩阵中,则有埃尔米特矩阵的概念:满足 A = A ∗ {\displaystyle \mathbf {A} =\mathbf {A} ^{*}} A=A∗ 的方块矩阵称为埃尔米特矩阵,其中的 A ∗ {\displaystyle \mathbf {A} ^{*}} A∗表示 A {\displaystyle \mathbf {A} } A的共轭转置矩阵。
2.6.5 正定性
n × n n\times n n×n的实对称矩阵 A {\displaystyle \mathbf {A} } A如果满足对所有非零向量 x ∈ R n {\displaystyle \mathbf {x} \in \mathbf {R} ^{n}} x∈Rn,对应的二次型
Q ( x ) = x T A x {\displaystyle Q(\mathbf {x} )=\mathbf {x} ^{\mathrm {T} }\mathbf {Ax} } Q(x)=xTAx
函数值都是正数,就称 {\displaystyle \mathbf {A} } \mathbf{A}为正定矩阵。类似地还有半正定矩阵、负定矩阵、不定矩阵等概念[38]。对称矩阵的正定性与其特征值密切相关。矩阵是正定的当且仅当其特征值都是正数[39]。
2.7 矩阵的计算
A − 1 = Adj ( A ) det ( A ) {\displaystyle \mathbf {A} ^{-1}={\frac {\operatorname {Adj} (\mathbf {A} )}{\det(\mathbf {A} )}}} A−1=det(A)Adj(A)
2.7.1 矩阵分解
- 矩阵研究的一大方向是将一般的矩阵用一些比较“简单”的矩阵来表示。这种表示方式称为矩阵的变换与分解。矩阵变换与分解的方法有很多,它们的目的都是希望化简后的矩阵保持原矩阵的某些性质,比如行列式、秩或逆矩阵,而形式相对简单,因而能用容易地进行讨论和计算,或者能使得某些算法更易执行。
- LU分解将矩阵分解为一个下三角矩阵 {\displaystyle \mathbf {L} } \mathbf {L} 和一个上三角矩阵 {\displaystyle \mathbf {U} } \mathbf{U}的乘积。
例如解线性方程组时,如果将系数矩阵 A {\displaystyle \mathbf {A} } A分解成 A = L U {\displaystyle \mathbf {A} =\mathbf {LU} } A=LU 的形式,那么方程的求解可以分解为求解 L y = b {\displaystyle \mathbf {Ly} =\mathbf {b} } Ly=b和 U x = y {\displaystyle \mathbf {Ux} =\mathbf {y} } Ux=y两步,而后两个方程可以十分简洁地求解
- 高斯消元法也是一种矩阵分解方法。通过初等变换操作,可以将任何矩阵变为阶梯形矩阵,而每个操作可以看做是将矩阵乘上一个特定的初等矩阵
奇异值分解则是另一种分解方法,将一个矩阵表示成3个矩阵的乘积: A = U D V {\displaystyle \mathbf {A} =\mathbf {UDV} } A=UDV。其中 U {\displaystyle \mathbf {U} } U和 V {\displaystyle \mathbf {V} } V是酉矩阵, {\displaystyle \mathbf {D} } \mathbf {D} 是对角矩阵。 A n = ( P D P − 1 ) n = P D P − 1 P D P − 1 … P D P − 1 = P D n P − 1 {\displaystyle \mathbf {A} ^{n}=(\mathbf {PDP} ^{-1})^{n}=\mathbf {PDP} ^{-1}\mathbf {PDP} ^{-1}\ldots \mathbf {PDP} ^{-1}=\mathbf {PD} ^{n}\mathbf {P} ^{-1}} An=(PDP−1)n=PDP−1PDP−1…PDP−1=PDnP−1
2.8 矩阵的推广
2.9 雅克比矩阵
雅克比矩阵
J = [ ∂ f ∂ x 1 ⋯ ∂ f ∂ x n ] = [ ∂ f 1 ∂ x 1 ⋯ ∂ f 1 ∂ x n ⋮ ⋱ ⋮ ∂ f m ∂ x 1 ⋯ ∂ f m ∂ x n ] {\displaystyle \mathbf {J} ={\begin{bmatrix}{\dfrac {\partial \mathbf {f} }{\partial x_{1}}}&\cdots &{\dfrac {\partial \mathbf {f} }{\partial x_{n}}}\end{bmatrix}}={\begin{bmatrix}{\dfrac {\partial f_{1}}{\partial x_{1}}}&\cdots &{\dfrac {\partial f_{1}}{\partial x_{n}}}\\\vdots &\ddots &\vdots \\{\dfrac {\partial f_{m}}{\partial x_{1}}}&\cdots &{\dfrac {\partial f_{m}}{\partial x_{n}}}\end{bmatrix}}} J=[∂x1∂f⋯∂xn∂f]=⎣⎢⎢⎢⎢⎡∂x1∂f1⋮∂x1∂fm⋯⋱⋯∂xn∂f1⋮∂xn∂fm⎦⎥⎥⎥⎥⎤
3.共轭转置
- 矩阵 A {\displaystyle A} A的共轭转置 A ∗ {\displaystyle A^{*}} A∗又称埃尔米特共轭、埃尔米特转置,英语:conjugate transpose)定义为:
( A ∗ ) i , j = A j , i ‾ {(A^*)_{i,j} = \overline{A_{j,i}}} (A∗)i,j=Aj,i
- 其中 ( ⋅ ) i , j {\displaystyle (\cdot )_{i,j}} (⋅)i,j表示矩阵i行j列上的元素, ( ⋅ ) ‾ {\displaystyle {\overline {(\cdot )}}} (⋅)表示标量的复共轭。
A ∗ = ( A ‾ ) T = A T ‾ A^* = (\overline{A})^\mathrm{T} = \overline{A^\mathrm{T}} A∗=(A)T=AT
- 其中 A T {\displaystyle A^{\mathrm {T} }\,\!} AT是矩阵A的转置, A ‾ {\displaystyle {\overline {A}}\,\!} A表示对矩阵A中的元素取复共轭。
- 通常用以下记号表示矩阵A的共轭转置:
A ∗ A^* \,\! A∗或 A H {\displaystyle A^{\mathrm {H} }\,\!} AH常用于线性代数
A † {\displaystyle A^{\dagger }\,\!} A†普遍用于量子力学
A + {\displaystyle A^{+}\,\!} A+(但这一记号通常指矩阵的摩尔-彭若斯广义逆)
- 注意:某些情况下 A ∗ {\displaystyle A^{*}\,\!} A∗也指仅对矩阵元素取复共轭,而不做矩阵转置,切勿混淆。
3.1 实数
如果A的元素是实数,那么 A ∗ A^* A∗与A的转置 A T A^T AT相等。把复值方块矩阵视为复数的推广,以及把共轭转置视为共轭复数的推广通常是非常有用的。