线性变换 linear transformations

$[1, 0]^T$

使用: $A \dot v$

作用: 通过 A 中的行向量和列向量 v [1, 0] 通过点积相乘,可以实现的作用:

  1. 只取矩阵 A 的第一列
  2. 点积相乘后,A 中行向量变成在 x 轴的映射,再乘以参数大小 1

线性独立问题

解释:

  • 线性不独立,一个向量可以被其它向量表示,那么这个向量和其它向量是不独立的
  • 矩阵的列向量,列向量之间的线性相关性:

    1. 满秩矩阵存在逆矩阵
    2. 非满秩矩阵,不存在逆矩阵

作用:

  • 如果向量之间不独立,那么用不独立的向量表示的矩阵 可以被压缩

单位阵

Identity Matrix

可逆矩阵

满足条件:

  1. 矩阵是方阵 n x n
  2. 矩阵是满秩矩阵

    • 可以通过行列式的值来测试: numpy.linalg.det(Mat) == 0

      • det(M) == 0: 非满秩矩阵
      • det(M) != 0: 蛮子矩阵

特性:

  1. 列向量互相独立

    • 即列向量之间线性独立
  2. 逆矩阵和原矩阵的点积是单位阵

    \begin{equation} A \cdot A^{-1} = \Lambda \end{equation}

计算逆矩阵可能面临的问题

  1. 数值不稳定问题 numerical instability: 因为除数运算,很小的除数,低秩矩阵可能导致很大的误差
  2. 稀疏矩阵问题:稀疏矩阵的逆矩阵可能不是稀疏矩阵,即使是计算稀疏矩阵的逆矩阵,也要使用完整大小的存储空间计算,存储压力巨大
  3. 存储空间大

总结:

  • 因此,在实际使用矩阵过程中,应该尽量避免直接计算矩阵的逆矩阵

稀疏矩阵 sparse matrix

定义:只有个别元素是非零数的矩阵

行列式

计算方法:

  • numpy.linalg.det(Mat)

爱因斯坦求和约定

定义:这是一种求和符号的省略的数学公式写法,由物理学家爱因斯坦发明

np.einsum('ij,jk->ijk', A, B ) 理解:

  • $a_{ij}b_{jk} \rightarrow c_{ik}$

参考:

特点:

  1. 输入参数表示,维度的大小相同,可以使用相同的字母表示,也可以使用不同的字母表示,

    • eg: A.shape (2,3,2) 表示成 'iji'(两个 i 表示这两个纬度大小都是 2 相同) 或者 'ijk'
  2. 输出参数表示,不可以使用相同字母表示