Mathematics for 3D Game Programming and Computer Graphics 笔记 Chapter 2

Chapter2 Matrices

2.1 Matrix Properties

  • MTij = Mji
  • (aM)ij = aMij
  • (G)ij = Fij + Gij
  • (FG)ij = Σ FikGkj (=F的第i行向量点乘G的第j列向量)
  • F + G = G + F
  • (F + G) + H = F + (G + H)
  • a(bF) = (ab)F
  • a(F + G) = aF + aG
  • (a + b)F = aF + bF
  • (aF)G = a(FG)
  • (FG)H = F(GH)
  • (FG)T = GTFT

2.2 Linear Systems

线性方程组可以用矩阵来方便的表示,如方程组:
3x + 2y - 3z = -13
4x - 3y + 6y = 7
x - z = -5
可表示为
┌      ┐┌ ┐ ┌   ┐
│3 2 -3││x│ │-13│
│4 -3 6││y│=│ 7 │
│1 0 -1││z│ │ -5│
└      ┘└ ┘ └   ┘
左边为系数矩阵,右边为常数矩阵,系数矩阵和常数矩阵组合起来为增广矩阵:
┌          ┐
│3 2 -3│-13│
│4 -3 6│ 7 │
│1 0 -1│ -5│
└          ┘
常数全为0的方程组称为齐次线性方程组,否则称为非其次线性方程组.

矩阵的初等行变换:

  1. 以非零常数c乘矩阵的某一行(倍乘变换)
  2. 将矩阵的某一行乘以常数c并加到另一行(倍加变换)
  3. 将矩阵的某两行对换位置(对换变换)

对增广矩阵进行初等行变换不改变方程组的解,因此可以对增广矩阵进行初等变换来简化解的计算.

行简化阶梯矩阵:

  1. 每行第一个非0数为1
  2. 全为0的行排在最后
  3. 如果某行第一个非0数在第j列,那么第j列只有这一个非0数
  4. 第1个非0数在第j列,则j小的行排在上面

例如:

┌        ┐
│1 0 -3 0│
│0 1 2  0│
│0 0 0  1│
│0 0 0  0│
└        ┘

上面的增广矩阵化为行简化阶梯矩阵结果是:

┌        ┐
│1 0 0│-2│
│0 1 0│ 1│
│0 0 1│ 3│
└        ┘
即
┌     ┐┌ ┐ ┌  ┐
│1 0 0││x│ │-2│
│0 1 0││y│=│ 1│
│0 0 1││z│ │ 3│
└     ┘└ ┘ └  ┘

由此我们可以立刻得出方程式的解: x = -2, y = 1, z = 3.

当行简化阶梯矩阵左边是单位矩阵时(如上例),方程组只有一个解,若矩阵存在全为0的行,方程组就有无数多个解,若左边全为0的行右边的常数非0,该方程组无解.齐次线性方程组至少有一个解(全为0).

2.4 Determinants 行列式

余子式 M{i,j}表示M去掉第i行第j列的全部元素后的(n-1)阶矩阵.

代数余子式 Cij(M) = (-1)i+jdet M{i,j}

det M = (i=1->n, k为任意常数) Σ Mik Cik(M)

2阶: 
        │M11 M12|
det M = │M21 M22| = M11M22 - M12M21
3阶:
det M  = M11M22M33 + M12M23M31 + M13M21M32 - M13M22M31 - M12M21M33 - M11M23M32

det(FG) = det F det G

2.3 Matrix Inverses

如果一个矩阵存在某行或某列全部为0,这个矩阵不可逆.如果某个矩阵存在某行是其它行的线性组合,这个矩阵不可逆.

M可逆↔MT可逆↔M的各行向量线性无关↔ det M ≠ 0.

如果F和G可逆,则(FG)可逆,且 (FG)-1 = G-1F-1

求矩阵逆矩阵方法1:
Gauss-Jodan elimination
对矩阵M和同阶单位矩阵I做同样的初等变换,那么M变为单位阵时I变为M的逆矩阵.

矩阵求逆方法2:
若F的逆矩阵为G,则
Gij = Cji(F) / det F

实际应用中计算M逆矩阵的方法通常是首先计算MT的代数余子式组成的矩阵Mc,在计算M的行列式时也用到这个矩阵的计算结果.以三阶矩阵为例:

QQ截图20130312114003

线性方程组可以表示为 Mx = r 的形式,M为系数矩阵,x为未知数向量,r为常数向量,方程组的解
x = M-1r = ( Mc / det M ) r

2.5 特征值和特征向量

对于每个可逆方阵,都存在一些向量,当矩阵乘这个向量时,向量方向不变只有大小改变,即 MV = λV ,λ称作M的特征值,V称作M相对于λ的特征向量. (M-λI)V = 0 → det(M – λI) = 0. 由此可以算出 n 个 λ 值,把每个 λ 代回原式可以得出对应的特征向量 V. V的值不唯一,通常形式是 aV0 ,我们可以选择长度为1的单位向量.

特征值和特征向量通常很复杂,由实数组成的对称矩阵(Mij = Mji)的特征值是实数.

对应一个矩阵的不同特征值的特征向量是正交的.

2.6 对角化

一个矩阵若主对角线以外的元素都为0,该矩阵为对角矩阵.

若一个矩阵的 n 个特征向量 V1,V2…Vn 分别对应该矩阵的 n 个特征值, 矩阵 A = [V1, V2,…,Vn] ,那么 A-1MA 为对角矩阵,且对角线上的 n 个值分别为 M 的 n 个特征值.