线性代数

向量

  1. 本质: 具有大小和方向的量
  2. 单位向量: 向量除以向量的模,仅代表方向,长度为1
  3. 向量加法: a + b = b + a,(x1, y1) + (x2, y2) = (x1 + x2, y1 + y2)
  4. 向量的模: ||a|| = Math.sqrt(Math.pow(x1, 2) + Math.pow(y1, 2))
  5. 向量的点乘: a · b = ||a|| * ||b|| * cos(θ) = x1x2 + y1y2
  6. 向量点乘的性质
    1. 交换律:a · b = b · a
    2. 分配率:a · (b+c) = a · b + a · c
    3. 结合律:(ka) · b = k * (a · b) = a · (kb),k为实数
  7. 向量点乘的应用
    1. 计算两个向量的夹角
    2. 计算b在a上的投影向量,计算方式: ||b|| * cos(θ) * (a的单位向量),如果a为单位向量,则 (b · a) * a 即为b在a上的投影向量
    3. 计算垂直于a的向量,计算方式: b - b在a上的投影向量
    4. 计算两个向量是否同方向
    5. 计算两个向量有多接近
  8. 向量的叉乘:得到的是一个新的向量,该向量与向量a,b都垂直,||a x b|| = ||a|| * ||b|| * sin(θ),a x b = (ya * zb - yb * za, xa * zb - xb * za, xa * yb - xb * ya)
  9. 向量叉乘的性质
    1. 右手坐标系:遵循右手螺旋定则,从向量a往向量b弯曲手掌,大拇指方向即为新向量的方向
    2. a x b = - b x a
    3. a x a = 0向量
    4. 分配率与结合律也满足
  10. 向量叉乘的应用
    1. 判断向量b在a的左侧或者右侧,如果 a x b 的 z > 0 则b在a的左侧,反之,则在右侧
    2. 判断p点是否在三角形内部,逆时针取三角形各边的向量a,分别与对应三角形顶点到P的向量c叉乘,如果c都在a的左侧,则P点在三角形内部

矩阵

  1. 本质: 一个m行n列的数集
  2. 矩阵的数乘: 矩阵的每个元素都乘以一个数
  3. 矩阵与矩阵相乘: 矩阵A的i行的每个元素与矩阵B的j列的每个元素相乘之后再相加,为结果矩阵对应i,j的元素
  4. 矩阵与矩阵相乘的前提条件: (m * n) * (n * p) = (m * p),中间相等取两边,最终结果为m行p列的矩阵
  5. 矩阵与矩阵相乘的性质
    1. 不满足交换律,即 A * B !== B * A
    2. 结合律: (A * B) * C = A * (B * C)
    3. 分配率: (A + B) * C = A * C + B * C,A * (B + C) = A * C + B * C
  6. 矩阵与向量相乘: 最终得到的还是一个向量,本质为对原向量进行一次矩阵变换
  7. 矩阵与向量相乘的前提条件: 列向量如果是m维度,则矩阵为m列
  8. 矩阵的转置: 将 m * n的矩阵变成 n * m 的,原来位于第一行的元素,现在位于第一列
  9. 矩阵的转置的性质
    1. (A * B)转置 = B转置 * A转置
  10. 单位矩阵: 主对角线全为1,其他地方全为0的矩阵
  11. 逆矩阵: 矩阵与逆矩阵相乘,结果是单位矩阵,A * A逆 = A逆 * A = 单位矩阵I
  12. 逆矩阵的性质
    1. (A * B)逆 = B逆 * A逆