矩阵论基础

向量

表示

通常用箭头表示$\vec a$或者$\overrightarrow{AB}$,或者黑体$\boldsymbol a$;

  • 没有绝对的开始位置,$\overrightarrow {AB}=B-A$;
  • 具有长度$\mid\mid \vec a\mid\mid$;
  • 具有方向,可以用其单位向量表示:$\hat a=\frac{\vec a}{\mid\mid \vec a\mid\mid}$

通常我们表示单位向量的过程也称为正则化(normalization);

向量也可以在坐标系上用两个正交的向量表示,进而表示成一列形成坐标:
$$
\boldsymbol A =\left( \begin{array}{c} x\y \end{array}\right)\
\boldsymbol A^\top =\left(\begin{array}{c} x&y \end{array}\right)\
\mid\mid \boldsymbol A\mid\mid= \sqrt{x^2+y^2}
$$

加法

向量的加法遵循三角形法则和平行四边形法则

image-20241204223826342

点乘

点乘(dot product)可以描述向量之间的方向的相似性,投影运算
$$
\vec a \cdot \vec b = \mid\mid \vec a\mid\mid \mid\mid \vec b\mid\mid \cos \theta
$$
两个向量的夹角余弦为
$$
\cos \theta =\frac{\vec a \cdot \vec b}{\mid\mid \vec a\mid\mid \mid\mid \vec b\mid\mid} =\hat a\cdot \hat b
$$
夹角$\theta\in [0,\pi)$为
$$
\theta =\arccos(\hat a\cdot \hat b)
$$
点乘满足交换律,结合律
$$
\vec a \cdot \vec b = \vec b \cdot \vec a\
\vec a \cdot (\vec b + \vec c)= \vec a \cdot \vec b + \vec a \cdot \vec c\
(k\vec a) \cdot \vec b = \vec a \cdot (k\vec b) = k(\vec a \cdot \vec b)
$$
在二维空间中
$$
\vec a \cdot \vec b = \left( \begin{array}{c} x_a\y_a \end{array}\right)\cdot \left( \begin{array}{c} x_b\y_b \end{array}\right) = x_ax_b + y_a y_b\
$$
在三维空间中
$$
\vec a \cdot \vec b = \left( \begin{array}{c} x_a\y_a\z_a \end{array}\right)\cdot \left( \begin{array}{c} x_b\y_b\z_b \end{array}\right) = x_ax_b + y_a y_b + z_az_b\
$$
投影(projection)在图形学上是很常见的运算,投影$\vec b_\perp $和$\vec a$同向;
$$
\vec b_\perp = \hat a \cdot \vec b\
\mid\mid \vec b_\perp\mid\mid = \mid\mid\vec b\mid\mid \cos \theta
$$
image-20241204225414860

通过投影还可以进行向量的正交分解
$$
\vec b-\vec b_\perp , \vec b_\perp
$$
向量点乘的正负可以决定向量是同向(forward)还是反向的(backforward);

image-20241204230111439

叉乘

两个向量的叉乘的结果均垂直于两个向量,其方向遵循右手螺旋定则(right-hand rule),可以建立三维直角坐标系;

image-20241204230156438

满足
$$
\mid\mid \vec a \times \vec b \mid\mid = \mid\mid \vec a \mid\mid \mid\mid \vec b\mid \mid \sin \varphi
$$
这里夹角$\varphi \in (-\frac{\pi}{2}, \frac{\pi}{2}]$,表示旋转角;

向量叉乘仍然满足结合律和分配律,不满足交换律
$$
\vec a \times \vec b = -\vec a \times \vec b \
\vec a \times (\vec b + \vec c)= \vec a \times \vec b + \vec a \times \vec c\
(k\vec a)\times \vec b = k(\vec a \times \vec b)\
\vec a\times\vec a = \vec 0
$$
代数上,叉乘如下结果
$$
\vec a \times \vec b = \left(
\begin{array}{c}
y_az_b-y_bz_z\
z_ax_b-x_az_b\
x_ay_b-y_ax_b
\end{array}\right)\
=\left(
\begin{array}{c}
0& -z_a& y_a\
z_a& 0& -x_a\
-y_a& x_a& 0
\end{array}\right)\left(
\begin{array}{c}
x_b\
y_b\
z_b
\end{array}\right)
$$
在二维空间中计算结果看起来是一个数(结果是它的模)
$$
\vec a \times \vec b = x_ay_b-y_ax_b
$$
平面上的叉乘一般用于判断左右,以及判断内外

判断向量$\vec b$在向量$\vec a$的左侧的充要条件
$$
\vec a\times \vec b >0
$$
判断点在三角形内部的充要条件
$$
\overrightarrow {AB} \times \overrightarrow {AP} >0\
\overrightarrow {BC} \times \overrightarrow {BP} >0\
\overrightarrow {CA} \times \overrightarrow {CP} >0\
$$
image-20241204231225956

结果为0一般考虑为corner case;

利用叉乘可以定义一个右手系
$$
\mid\mid \hat i\mid\mid = \mid\mid \hat j\mid\mid =\mid\mid\hat k\mid\mid =1\
\hat i\cdot \hat j =0 \
\hat k = \hat i\times \hat j
$$
对于任意一个向量$\vec p$,有
$$
\vec p = (\vec p\cdot \hat i)\hat i + (\vec p\cdot \hat j)\hat j +(\vec p\cdot \hat k)\hat k
$$

矩阵

对于一个$m\times n$矩阵,即有$m$行$n$列;

加法是平凡的:对应元素相乘;

矩阵的乘法:对于一个$m\times p$ 的矩阵$\boldsymbol A$和$p\times n$的矩阵$\boldsymbol B$,相乘结果$\boldsymbol C$为
$$
\boldsymbol C_{ij} = \sum_{k = 1} ^ p \boldsymbol{A}{ik} \boldsymbol{B}{kj}
$$
矩阵乘法不满足任何交换律,满足结合律和分配律
$$
(\boldsymbol A \boldsymbol B) \boldsymbol C = \boldsymbol A (\boldsymbol B \boldsymbol C)\
(\boldsymbol A + \boldsymbol B) \boldsymbol C = \boldsymbol A \boldsymbol C + \boldsymbol B \boldsymbol C\
\boldsymbol C (\boldsymbol A + \boldsymbol B)= \boldsymbol C \boldsymbol A + \boldsymbol C \boldsymbol B

$$
矩阵乘法转置满足
$$
(AB)^\top = B^\top A^\top
$$
矩阵乘法常常用于向量的线性变换,向量通常视为列数为1的矩阵,这里$A^*$称作dual matrix;
$$
\vec a \cdot \vec b = \vec a ^\top \vec b = \left( \begin{array}{c} x_a&y_a&z_a \end{array}\right) \left( \begin{array}{c} x_b\y_b\z_b \end{array}\right) \

\vec a \times \vec b
=A^* \vec b = \left(
\begin{array}{c}
0& -z_a& y_a\
z_a& 0& -x_a\
-y_a& x_a& 0
\end{array}\right)\left(
\begin{array}{c}
x_b\
y_b\
z_b
\end{array}\right)
$$
若矩阵$\boldsymbol A$满秩,则存在逆$\boldsymbol A^{-1}$,这里$$\boldsymbol A \boldsymbol A^{-1} = I$$