以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网

# Linear Algebra

# 向量(Vectors)

# 向量的表示:

image-20201227124153407

AB=BA=a\overrightarrow{AB} = B - A = \vec a

# 向量的属性:

  • 方向: A -> B。表示由 A 点到 B 点的方向。
  • 长度:a||\vec a||。表示 A 点和 B 点的距离。

# 单位向量(normalize):

长度为 1 的向量被称为单位向量。

a^=aa\hat{a} = \frac{ \vec a }{ ||\vec a|| }

# 向量基本操作

# 向量求和

image-20201227131157472

# 笛卡尔坐标下(Cartesian Coordinates)

image-20201227131432836

A=(xy)AT=(x,y)A=x2+y2A = \begin{pmatrix} x \\ y \end{pmatrix} \quad\quad A^T = (x, y) \quad\quad ||A|| = \sqrt{ x^2 + y^2 }

笛卡尔坐标下,向量求和等于对应的元素相加得到的「向量」

a+b=(xaya)+(xbyb)=(xa+xbya+yb)\vec a + \vec b = \begin{pmatrix} x_a \\ y_a \end{pmatrix} + \begin{pmatrix} x_b \\ y_b \end{pmatrix} = \begin{pmatrix} x_a + x_b \\ y_a + y_b \end{pmatrix}

# 点乘(Dot product)—— 「\cdot

两个单位向量的点乘表示两个单位向量夹角的 cos

image-20201227133122765

ab==abcosθ\vec a \cdot \vec b == ||\vec a|| ||\vec b|| \cos \theta

cosθ=ababcosθ=a^b^\cos \theta = \frac{\vec a \cdot \vec b} {||\vec a|| ||\vec b||} \quad \to \quad \cos \theta = \hat a \cdot \hat b

# 性质:

满足乘法的「交换律」、「分配律」和「结合律」

  • ab=ba\vec a \cdot \vec b = \vec b \cdot \vec a
  • a(b+c)=ab+ac\vec a \cdot ( \vec b + \vec c ) = \vec a \cdot \vec b + \vec a \cdot \vec c
  • kab=a(kb)=k(ab)k \vec a \cdot \vec b = \vec a \cdot (k \vec b) = k (\vec a \cdot \vec b)
# 笛卡尔坐标下(Cartesian Coordinates)

笛卡尔坐标下「点乘」等于对应的元素相乘并相加得到的「值」

  • In 2D:

ab=(xaya)(xbyb)=xaxb+yayb\vec a \cdot \vec b = \begin{pmatrix} x_a \\ y_a \end{pmatrix} \cdot \begin{pmatrix} x_b \\ y_b \end{pmatrix} = x_a x_b + y_a y_b

  • In 3D:

ab=(xayaza)(xbybzb)=xaxb+yayb+zazb\vec a \cdot \vec b = \begin{pmatrix} x_a \\ y_a \\ z_a \end{pmatrix} \cdot \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix} = x_a x_b + y_a y_b + z_a z_b

# 向量的投影:

向量 b\vec b在 向量 a\vec a上的投影,记作向量 b\vec b_ \bot

image-20201227141947866

b=ba^\vec b_ \bot = || \vec b_ \bot || \hat a

b=bcosθ|| \vec b_ \bot || = || \vec b || \cos \theta

b=(bcosθ)a^b=(ba^)a^\vec b_ \bot = (|| \vec b ||\cos \theta) \hat a \quad \to \quad \vec b_ \bot = (\vec b \cdot \hat a) \hat a

# 判断两个向量是否同向:

两个单位向量的「点乘」结果为 cosθ\cos \theta ,可以表示两向量的方向是否接近

image-20201227144112844

# 叉乘(Cross product)—— 「×\times

通过两个向量进行「叉乘」,得到垂直于这两个向量的「新向量」。该向量的方向通过「右手螺旋法则」决定:

例如 a×b\vec a \times \vec b那么右手四指从 a 指向 b,大拇指所指方向就是新向量方向。

image-20201227151139009

# 三维空间的直角坐标系建立
  • x×y=+z\vec x \times \vec y = + \vec z:该情况下,符合右手坐标系
  • z=xysinθ|| \vec z || = || \vec x || || \vec y || \sin \theta :叉乘的长度等于两个向量长度乘以 sinθ\sin \theta
  • x×x=0\vec x \times \vec x = \vec 0:相同向量叉乘结果为 0 向量,因为 sinθ=0\sin \theta = 0
# 符合「分配率」和「结合率」,遵循「逆交换律」
  • a×b=b×a\vec a \times \vec b = - \vec b \times \vec a
  • a×(b+c)=a×b+a×c\vec a \times ( \vec b + \vec c )= \vec a \times \vec b + \vec a \times \vec c
  • a×(kb)=k(a×b)\vec a \times (k \vec b ) = k( \vec a \times \vec b )
# 代数计算公式:

a×b=(xayaza)×(xbybzb)=(yazbybzazaxbxazbxaybyaxb)\vec a \times \vec b = \begin{pmatrix} x_a \\ y_a \\ z_a \end{pmatrix} \times \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix} = \begin{pmatrix} y_a z_b - y_b z_a \\ z_a x_b - x_a z_b \\ x_a y_b - y_a x_b \end{pmatrix}

# 矩阵计算公式( AA^* 表示向量 a\vec a的伴随矩阵):

a×b=Ab=(0zayaza0xayaxa0)(xbybzb)\vec a \times \vec b = A^*b = \begin{pmatrix} 0 & -z_a & y_a \\ z_a & 0 & -x_a \\ -y_a & x_a & 0 \end{pmatrix} \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix}

# 叉乘意义:
  • 用于判断统一平面内的两个向量之间的关系

    • 左右关系:

      • 左 —— 逆时针方向
      • 右 —— 顺时针方向
      • 例如下图所示,如果 a×b=+z\vec a \times \vec b = + \vec z那么可以认为 b\vec ba\vec a的左侧,反之则反之。

      image-20201227154247745

    • 内外关系:

      • 内 —— 三角形内部
      • 外 —— 三角形外部
      • 例如下图所示,分别计算「三条边」和「三个顶点与 P 点形成的向量」的叉乘,如果三个结果是同向(±Z± \vec Z),那么可以判断,点 P 在三角形内部。否则,P 点在三角形外部。
        • AB×AP=+Z\overrightarrow{AB} \times \overrightarrow{AP} = + \vec Z
        • BC×BP=+Z\overrightarrow{BC} \times \overrightarrow{BP} = + \vec Z
        • CA×CP=+Z\overrightarrow{CA} \times \overrightarrow{CP} = + \vec Z

      image-20201227154623986

# 向量的其他操作

# 定义一个基本的右手坐标系

x=y=z=1|| \vec x || = || \vec y || = || \vec z || = 1

xy=xz=yz=0\vec x \cdot \vec y = \vec x \cdot \vec z = \vec y \cdot \vec z = 0

z=xy\vec z = \vec x \cdot \vec y

# 将某个向量分解成其他的方向向量

p=(px^)x^+(py^)y^+(pz^)z^\vec p = (\vec p \cdot \hat x)\hat x + (\vec p \cdot \hat y)\hat y + (\vec p \cdot \hat z)\hat z

# 矩阵(Matrices)

# 矩阵运算

# 矩阵乘积

矩阵相乘时,只有「前矩阵的行数」等于「后矩阵的列数」,乘积才有意义。

某个位置的:值 = 「该位置前矩阵所在行」点乘「该位置后矩阵所在列」

(135204)(36942783)=(9x3313194461268283212)\begin{pmatrix} 1 & 3 \\ 5 & 2 \\ 0 & 4 \end{pmatrix} \begin{pmatrix} 3 & 6 & 9 & 4 \\ 2 & 7 & 8 & 3 \end{pmatrix} = \begin{pmatrix} 9 & x & 33 & 13 \\ 19 & 44 & 61 & 26 \\ 8 & 28 & 32 & 12 \end{pmatrix}

  • 例如 x 号是 第一行、第二列,那么对应的就是:

    (13)(67)=1×6+3×7=27\begin{pmatrix} 1 & 3 \end{pmatrix} \cdot \begin{pmatrix} 6 \\ 7 \end{pmatrix} = 1 \times 6 + 3 \times 7 = 27

矩阵相乘,最终得到的行列数取决于「前矩阵的列」和「后矩阵的行」:(M×N)(N×P)=(M×P)(M \times N)(N \times P)=(M \times P)

# 没有任何的「交换律」,但满足「结合律」和「分配律」
  • AB ≠ BA

  • (AB)C = A(BC)

  • A(B+C) = AB +AC

  • (A+B)C = AC + BC

# 矩阵变换

  • 求镜像

(1001)(xy)=(xy)\begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} -x \\ y \end{pmatrix}

# 矩阵转置

  • (AB)T=BTAT(AB)^T = B^TA^T

(135204)=(150324)T\begin{pmatrix} 1 & 3 \\ 5 & 2 \\ 0 & 4 \end{pmatrix} = \begin{pmatrix} 1 & 5 & 0 \\ 3 & 2 & 4 \\ \end{pmatrix}^T

# 单位矩阵

I3X3=(100010001)I_{3X3} = \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{pmatrix}

# 逆矩阵

AA1=A1A=IAA^{-1} = A^{-1}A = I

(AB)1=B1A1(AB)^{-1} = B^{-1}A^{-1}

# 伴随矩阵

A=(abcd),adj(A)=(dbca)A = \begin{pmatrix} a & b\\ c & d \end{pmatrix} , adj(A) = \begin{pmatrix} d & -b\\ c & a \end{pmatrix}

用的不多,具体细节见 wiki: 传送门

# 矩阵形式的向量乘法

  • 点乘:

ab=aTb=(xayaza)(xbybzb)=(xaxb+yayb+zazb)\vec a \cdot \vec b = \vec a^T \vec b = \begin{pmatrix} x_a \\ y_a \\ z_a \end{pmatrix} \begin{pmatrix} x_b & y_b & z_b\\ \end{pmatrix} =(x_a x_b + y_a y_b + z_a z_b)

  • 叉乘( AA^* 表示向量 a\vec a的伴随矩阵)

a×b=Ab=(0zayaza0xayaxa0)(xbybzb)=(yazbybzazaxbxazbxaybyaxb)\vec a \times \vec b = A^* b = \begin{pmatrix} 0 & -z_a & y_a \\ z_a & 0 & -x_a \\ -y_a & x_a & 0 \\ \end{pmatrix} \begin{pmatrix} x_b \\ y_b \\ z_b \\ \end{pmatrix} = \begin{pmatrix} y_a z_b - y_b z_a \\ z_a x_b - x_a z_b \\ x_a y_b - y_a x_b \end{pmatrix}

# 关键字

  • 点乘
  • 叉乘