一个标量是一个单独的数,通常用斜体的小写变量表示,例如“令 n ∈ N n\in N n∈N 表示元素的数目”
一个向量是一列数,通常用斜体的粗体变量表示,例如 :
x = ( x 1 x 2 ⋮ x n ) x= \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} x=⎝⎜⎜⎜⎛x1x2⋮xn⎠⎟⎟⎟⎞
为了表示方便,在论文中通常写作 x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T。写成行形式的向量称为行向量,写成列形式的向量称为列向量,它们也可以看作是 1 × n 1\times n 1×n 和 n × 1 n\times 1 n×1 的矩阵
设向量 a = ( a 1 , a 2 , . . . , a n ) \bm a=(a_1, a_2,...,a_n) a=(a1,a2,...,an) , b = ( b 1 , b 2 , . . . , b n ) \bm b=(b_1, b_2,...,b_n) b=(b1,b2,...,bn),若:
a i = b i ( i = 1 , 2 , . . . , n ) a_i=b_i \quad (i=1,2,...,n) ai=bi(i=1,2,...,n) 则称这两个向量相等,记为 a = b \bm{a=b} a=b
分量全为0的向量 ( 0 , 0 , . . . , 0 ) (0,0,...,0) (0,0,...,0) 称为零向量,记为 0 \bm 0 0
长度等于1的向量称为单位向量
设向量 a = ( a 1 , a 2 , . . . , a n ) \bm a=(a_1, a_2,...,a_n) a=(a1,a2,...,an) , b = ( b 1 , b 2 , . . . , b n ) \bm b=(b_1, b_2,...,b_n) b=(b1,b2,...,bn),称:
c = ( a 1 + b 1 , a 2 + b 2 , . . . , a n + b n ) \bm c=(a_1+b_1, a_2+b_2,...,a_n+b_n) c=(a1+b1,a2+b2,...,an+bn) 为 a , b \bm{a, b} a,b 的和,记为 c = a + b \bm{c=a+b} c=a+b
向量加法满足如下运算规律:
数与向量的乘积运算称为向量的数乘运算,向量的数乘满足如下运算规律:
记作 a ⋅ b \bm{a\cdot b} a⋅b,可以理解为向量 a \bm a a 在向量 b \bm b b 上的投影长度,结果是一个标量:
a ⋅ b = ∣ a ∣ ∣ b ∣ cos ⟨ a , b ⟩ \bm{a \cdot b}=|a||b|\cos{\left \langle a, b \right \rangle} a⋅b=∣a∣∣b∣cos⟨a,b⟩
则若 a = ( a 1 , a 2 , a 3 ) \bm a=(a_1,a_2, a_3) a=(a1,a2,a3), b = ( b 1 , b 2 , b 3 ) \bm b=(b_1,b_2, b_3) b=(b1,b2,b3),则 a \bm a a 与 b \bm b b 的点乘为:
a ⋅ b = a 1 b 1 + a 2 b 2 + a 3 b 3 \bm{a \cdot b}=a_1b_1+a_2b_2+a_3b_3 a⋅b=a1b1+a2b2+a3b3 即两个向量的内积等于它们对应坐标的乘积之和
两个向量的内积满足:
记作 a × b \bm{a\times b} a×b,结果是一个向量。当 a \bm a a 和 b \bm b b 不平行时, ∣ a × b ∣ |\bm{a\times b}| ∣a×b∣ 可以理解为以 a \bm a a 和 b \bm b b 为邻边的平行四边形的面积:
∣ a × b ∣ = ∣ a ∣ ∣ b ∣ sin ⟨ a , b ⟩ |\bm{a\times b}|=|a||b|\sin{\left \langle a,b \right \rangle} ∣a×b∣=∣a∣∣b∣sin⟨a,b⟩ 它的方向规定为与 a \bm a a, b \bm b b 均垂直,并且使 a , b , a × b \bm a, \bm b, \bm{a\times b} a,b,a×b 成右手系
则若 a = ( a 1 , a 2 , a 3 ) \bm a=(a_1,a_2, a_3) a=(a1,a2,a3), b = ( b 1 , b 2 , b 3 ) \bm b=(b_1,b_2, b_3) b=(b1,b2,b3),则 a \bm a a 与 b \bm b b 的叉乘为:
a × b = ( a 2 b 3 − b 2 a 3 , a 3 b 1 − b 3 a 1 , a 1 b 2 − b 1 a 2 ) \bm{a \times b}=(a_2b_3-b_2a_3, a_3b_1-b_3a_1, a_1b_2-b_1a_2) a×b=(a2b3−b2a3,a3b1−b3a1,a1b2−b1a2)
外积的性质如下:
三个向量 a , b , c \bm{a, b, c} a,b,c 的混合积是一个数,记作 ( a , b , c ) (\bm{a, b, c}) (a,b,c),定义为 :
( a , b , c ) = ( a × b ) ⋅ c (\bm{a, b, c})=\bm{(a\times b)\cdot c} (a,b,c)=(a×b)⋅c即为三个向量先外积后内积,结果的绝对值可以表示以三个非零向量 a \bm a a, b \bm b b, c \bm c c 为棱作一个平行六面体,其底面积为 ∣ a × b ∣ \bm{|a\times b|} ∣a×b∣,高为 ∣ c ∣ ∣ cos θ ∣ |\bm c||\cos\theta| ∣c∣∣cosθ∣,其中 θ \theta θ 为 c \bm c c 与 a × b \bm{a\times b} a×b 的夹角,因此该平行六面体的体积为:
V = ∣ a × b ∣ ∣ c ∣ cos θ = ∣ ( a × b ) ⋅ c ∣ = ∣ ( a , b , c ) ∣ V=\bm{|a\times b||c|}\cos\theta=\bm{|(a\times b)\cdot c|}=\bm{|(a,b,c)|} V=∣a×b∣∣c∣cosθ=∣(a×b)⋅c∣=∣(a,b,c)∣
则若 a = ( a 1 , a 2 , a 3 ) \bm a=(a_1,a_2, a_3) a=(a1,a2,a3), b = ( b 1 , b 2 , b 3 ) \bm b=(b_1,b_2, b_3) b=(b1,b2,b3), c = ( c 1 , c 2 , c 3 ) \bm c=(c_1,c_2, c_3) c=(c1,c2,c3),则 a \bm a a, b \bm b b , c \bm c c的混合积为:
( a × b ) ⋅ c = ( a 2 b 3 − b 2 a 3 ) c 1 + ( a 3 b 1 − b 3 a 1 ) c 2 + ( a 1 b 2 − b 1 a 2 ) c 3 = ∣ a 1    b 1    c 1 a 2    b 2    c 2 a 3    b 3    c 3 ∣ \bm{(a \times b)\cdot c}=(a_2b_3-b_2a_3)c_1+(a_3b_1-b_3a_1)c_2+(a_1b_2-b_1a_2)c_3= \begin{vmatrix} a_1 \; b_1 \; c_1 \\ a_2 \; b_2 \; c_2 \\ a_3 \; b_3 \; c_3 \end{vmatrix} (a×b)⋅c=(a2b3−b2a3)c1+(a3b1−b3a1)c2+(a1b2−b1a2)c3=∣∣∣∣∣∣a1b1c1a2b2c2a3b3c3∣∣∣∣∣∣
笛卡尔积是指两个集合中所有元素的组合情况,例如:
设 A A A, B B B 为集合,用 A A A 中元素为第一元素, B B B 中元素为第二元素构成有序对,这样所有的有序对组成的集合称作 A A A 与 B B B 的笛卡尔积。例如,若 A = ( a , b ) A=(a,b) A=(a,b), B = ( x , y , z ) B=(x,y,z) B=(x,y,z) ,则:
A A A 与 B B B 的笛卡尔积为 ( ( a , x ) , ( a , y ) , ( a , z ) , ( b , x ) , ( b , y ) , ( b , z ) ) {((a,x), (a,y), (a,z), (b,x), (b,y), (b,z))} ((a,x),(a,y),(a,z),(b,x),(b,y),(b,z))
B B B 与 A A A 的笛卡尔积为 ( ( x , a ) , ( x , b ) , ( y , a ) , ( y , b ) , ( z , a ) , ( z , b ) ) {((x,a), (x,b), (y,a), (y,b), (z,a), (z,b))} ((x,a),(x,b),(y,a),(y,b),(z,a),(z,b))
矩阵是一个二维数组,其中每一个元素由两个下标共同决定,通常用粗体的大写变量表示,例如: A ∈ R m × n \mathit{\mathbf{A}}\in \mathbb{R}^{m\times n} A∈Rm×n。但在表示矩阵中单个元素时,通常以不加粗的斜体变量表示,例如: A 1 , 1 A_{1,1} A1,1。当需要明确表示矩阵中的全部元素时,通常将它们写在用方括号括起来的数组中:
[ A 1 , 1    A 1 , 2 A 2 , 1    A 2 , 2 ] \begin{bmatrix} A_{1,1} \; A_{1,2} \\ A_{2,1} \; A_{2,2} \end{bmatrix} [A1,1A1,2A2,1A2,2]
如果 m = 1 m=1 m=1,那么矩阵可以看成一个行向量,即:
A = [ a 11 , a 12 , . . . , a 1 n ] \bm A=[a_{11},a_{12},...,a_{1n}] A=[a11,a12,...,a1n]
当 n = 1 n=1 n=1 时,矩阵可以看成一个列向量,即:
A = [ a 11 a 21 ⋮ a m 1 ] \bm A= \begin{bmatrix} a_{11} \\ a_{21} \\ \vdots \\ a_{m1} \end{bmatrix} A=⎣⎢⎢⎢⎡a11a21⋮am1⎦⎥⎥⎥⎤
当 m = n m=n m=n 时,我们称它为 n × n \bm{n\times n} n×n 矩阵或 n \bm n n 阶方阵。称 a i i a_{ii} aii 为方阵的主对角线元素,所有主对角线元素的和称为方阵的迹,记作:
t r ( A ) = a 11 + a 22 + . . . + a n n = ∑ i = 1 n a i i tr(\bm A)=a_{11}+a_{22}+...+a_{nn}=\sum_{i=1}^n a_{ii} tr(A)=a11+a22+...+ann=i=1∑naii迹运算在转置运算下不变: t r ( A ) = t r ( A T ) tr(\bm A)=tr(\bm A^T) tr(A)=tr(AT)
假设矩阵 A ∈ R m × n \bm A \in \mathbb R^{m\times n} A∈Rm×n,矩阵 B ∈ R n × m \bm B \in \mathbb R^{n\times m} B∈Rn×m,可得: t r ( A B ) = t r ( B A ) tr(\bm{AB})=tr(\bm{BA}) tr(AB)=tr(BA)
任意向量和单位矩阵相乘,都不会改变,将保持 n n n维向量不变的单位矩阵记作 I n \bm I_n In,即
∀ x ∈ R n , I n x = x \forall \bm x\in \mathbb R^n, \bm{I_nx=x} ∀x∈Rn,Inx=x
单位矩阵结构很简单,即对角线元素为1,其他都为0,例如:
[ 1 0 0 0 1 0 0 0 1 ] \begin{bmatrix} 1 \quad 0 \quad 0 \\ 0 \quad 1 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} ⎣⎡100010001⎦⎤
只在主对角线上含有非零元素,其他位置都是0的矩阵叫对角矩阵。通常用 d i a g ( v ) diag(\bm v) diag(v) 表示对角元素由向量 v \bm v v 构成的对角矩阵:
d i a g ( v ) x = v ⊙ x d i a g ( v ) − 1 = d i a g ( [ 1 / v 1 , 1 / v 2 , . . . , 1 / v n ] T ) diag(\bm v)\bm x=\bm{v\odot x} \\ diag(\bm v)^{-1}=diag([1/v_1,1/v_2,...,1/v_n]^T) diag(v)x=v⊙xdiag(v)−1=diag([1/v1,1/v2,...,1/vn]T)
对称矩阵是转置后和自己相等的矩阵,即:
A = A T \bm{A=A^T} A=AT当某些不依赖于参数顺序的双参数函数生成元素时,对称矩阵经常会出现
正交矩阵指行向量和列向量是分别标准正交的方阵,即:
A T A = A A T = I \bm{A^TA=AA^T=I} ATA=AAT=I
n n n 阶正交矩阵具有如下性质:
矩阵与标量相加或相乘时,只需将其与矩阵中每一个元素相加或相乘,例如 D = a ⋅ B + c \bm D=a\cdot \bm B+c D=a⋅B+c 即为 D i , j = a ⋅ B i , j + c D_{i,j}=a\cdot B_{i,j}+c Di,j=a⋅Bi,j+c
矩阵与向量相加 C = A + b \bm{C=A+b} C=A+b 是向量与矩阵的每一行相加,即 C i , j = A i , j + b j C_{i,j}=A_{i,j}+b_j Ci,j=Ai,j+bj ,同样产生一个矩阵。由于原理上是将向量 b \bm b b 复制到矩阵的每一行,因此又称为广播
矩阵形状一致,即可进行相加操作。两个矩阵相加是指对应位置元素相加,例如 C = A + B \bm{C=A+B} C=A+B 即为 C i , j = A i , j + B i , j C_{i,j}=A_{i,j}+B_{i,j} Ci,j=Ai,j+Bi,j
矩阵加法满足:
称为矩阵的数乘,矩阵与标量相加或相乘时,只需将其与矩阵中每一个元素相加或相乘,例如 D = a ⋅ B + c \bm D=a\cdot \bm B+c D=a⋅B+c 即为 D i , j = a ⋅ B i , j + c D_{i,j}=a\cdot B_{i,j}+c Di,j=a⋅Bi,j+c
矩阵数乘满足:
一个矩阵乘以一个列向量相当于矩阵的列向量的线性组合,一个行向量乘以一个矩阵相当于矩阵的行向量的线性组合。例如:
[ A 1 , 1    A 1 , 2 A 2 , 1    A 2 , 2 ] [ B 1 , 1 B 2 , 1 ] = [ C 1 , 1 C 2 , 1 ] \begin{bmatrix} A_{1,1} \; A_{1,2} \\ A_{2,1} \; A_{2,2} \end{bmatrix} \begin{bmatrix} B_{1,1} \\ B_{2,1} \end{bmatrix}= \begin{bmatrix} C_{1,1} \\ C_{2,1} \end{bmatrix} [A1,1A1,2A2,1A2,2][B1,1B2,1]=[C1,1C2,1]
其中, C 1 , 1 = A 1 , 1 B 1 , 1 + A 1 , 2 B 2 , 1 C_{1,1}=A_{1,1}B_{1,1}+A_{1,2}B_{2,1} C1,1=A1,1B1,1+A1,2B2,1, C 2 , 1 = A 2 , 1 B 1 , 1 + A 2 , 2 B 2 , 1 C_{2,1}=A_{2,1}B_{1,1}+A_{2,2}B_{2,1} C2,1=A2,1B1,1+A2,2B2,1
或:
[ A 1 , 1    A 1 , 2 ] [ B 1 , 1    B 1 , 2 B 2 , 1    B 2 , 2 ] = [ C 1 , 1    C 1 , 2 ] \begin{bmatrix} A_{1,1} \; A_{1,2} \\ \end{bmatrix} \begin{bmatrix} B_{1,1} \; B_{1,2} \\ B_{2,1} \; B_{2,2} \end{bmatrix}= \begin{bmatrix} C_{1,1} \; C_{1,2} \end{bmatrix} [A1,1A1,2][B1,1B1,2B2,1B2,2]=[C1,1C1,2]
其中, C 1 , 1 = A 1 , 1 B 1 , 1 + A 1 , 2 B 2 , 1 C_{1,1}=A_{1,1}B_{1,1}+A_{1,2}B_{2,1} C1,1=A1,1B1,1+A1,2B2,1, C 1 , 2 = A 1 , 1 B 1 , 2 + A 1 , 2 B 2 , 2 C_{1,2}=A_{1,1}B_{1,2}+A_{1,2}B_{2,2} C1,2=A1,1B1,2+A1,2B2,2
由于尺寸不一致问题,不存在一个矩阵乘以一个行向量或者一个列向量乘以一个矩阵的情况。
若矩阵 A \bm A A 和 B \bm B B 想要相乘,那么矩阵 A \bm A A 的列数必须和矩阵 B \bm B B 的行数相等。即如果矩阵 A \bm A A 的形状为 m × n m\times n m×n,矩阵 B \bm B B 的形状为 n × p n\times p n×p,那么它们的乘积结果 C \bm C C 的形状是 m × p m\times p m×p 。通常将两个或多个矩阵并列放置表示矩阵相乘,例如: C = A B \bm{C=AB} C=AB
具体到元素上的操作为:
C i , j = ∑ k A i , j B k , j C_{i,j}=\sum_k A_{i,j}B_{k,j} Ci,j=k∑Ai,jBk,j
需要注意的是,两个矩阵的乘积并不是两个矩阵中对应元素的乘积。不过,这样的矩阵操作也存在,成为元素对应乘积或者Hadamard乘积,记作 A ⊙ B \bm{A\odot B} A⊙B
矩阵乘积满足:
矩阵 A \bm A A的矩阵逆记作 A − 1 \bm A^{_-1} A−1,满足如下条件:
A − 1 A = I n \bm{A^{-1}A=I_n} A−1A=In
注意:逆矩阵只对方阵而言,没有定义非方阵的矩阵的逆
矩阵的逆有如下性质:
n n n 阶矩阵 A \bm A A 可逆的条件是当且仅当其行列式 ∣ A ∣ |\bm A| ∣A∣ 不等于0。由于行列式不为0等价于矩阵满秩,故也可以叙述为:矩阵可逆的条件是当且仅当矩阵满秩
矩阵的转置是以对角线为轴的镜像,转置后的矩阵记为 A T \bm{A}^{T} AT,定义如下:
( A T ) i , j = A j , i (\bm{A}^T)_{i,j}=\bm{A}_{j,i} (AT)i,j=Aj,i
即
A = [ A 1 , 1    A 1 , 2 A 2 , 1    A 2 , 2 A 3 , 1    A 3 , 2 ] ⇒ A T = [ A 1 , 1    A 2 , 1    A 3 , 1 A 1 , 2    A 2 , 2    A 3 , 2 ] A= \begin{bmatrix} A_{1,1} \; A_{1,2} \\ A_{2,1} \; A_{2,2} \\ A_{3,1} \; A_{3,2} \end{bmatrix} \Rightarrow A^T= \begin{bmatrix} A_{1,1} \; A_{2,1} \; A_{3,1} \\ A_{1,2} \; A_{2,2} \; A_{3,2} \\ \end{bmatrix} A=⎣⎡A1,1A1,2A2,1A2,2A3,1A3,2⎦⎤⇒AT=[A1,1A2,1A3,1A1,2A2,2A3,2]
当 A = A T \bm A=\bm A^T A=AT 时,称 A \bm A A 为对称矩阵。若 A = − A T \bm A=-\bm A^T A=−AT,则称 A \bm A A 为反对称矩阵
矩阵转置满足:
矩阵的秩为,将矩阵通过一系列初等变换化成为阶梯矩阵后,非零行的数目,记作 r ( A ) r(\bm A) r(A)
张量是坐标维度超过二维的数组,例如一个三维张量 A \mathbf A A 中坐标为 ( i , j , k ) (i,j,k) (i,j,k) 的元素记作 A i , j , k \mathit A_{i,j,k} Ai,j,k。
[1] 伊恩·古德费洛, 约书亚·本吉奥, 亚伦·库维尔. 深度学习. 人民邮电出版社. 北京. 2018
[2] 周盛林, 刘西民. 线性代数与解析几何. 高等教育出版社. 2012