行列式

定义

  • 求解行列式numpy.linalg.det(np.array)
  • 求解线性方程组:numpy.linalg.slove(np.array, np.array)
  • 线性方程组的系数行列式D ≠ 0,则式有唯一解;当等式右端的常数项全为零时称为齐次线性方程组
  • 系数行列式D ≠ 0 是齐次线性方程组有非零解的充分必要条件

    逆序数

  1. def amount(b):
  2. counts = [np.sum(b[:i] > bb) for i, bb in enumerate(b)]
  3. return np.sum(counts)
  4. a = np.array([4, 2, 5, 3, 1])

性质

  • 行列式与它的转置行列式相等DT = D.T
  • 互换行列式两行/列,行列式变号;如果行列式有两行(列)完全相同,则此行列式等于零
  • 行列式某一行/列所有元素乘k,等于k乘此行列式;行列式某一行/列所有元素的公因子可以提到行列式符号的外面;如果行列式某一行/列的所有元素全为0,则此行列式等于零
  • 行列式两行/列元素对应成比例,那么此行列式等于零

    矩阵

    定义

  • 创建矩阵numpy.matrix([1, 2], [3, 4])np.mat('1 2;3 4')

  • 创建零矩阵numpy.zeros(shape, dtype=float, order='C')
  • 创建单位矩阵numpy.identity(n, dtype=None)
  • 创建对角矩阵numpy.diag(v, k=0)v接受array或list,k接收int表示主对角线的索引
  • 创建上三角矩阵numpy.triu(m, k=0),创建下三角矩阵numpy.tril(m, k=0)

    运算

  • 加法满足交换律和结合律,数乘满足分配律和结合律

  • 矩阵乘法满足结合律、分配律、数与乘积的结合律
  • numpy.dot(a, b, out=None)可以实现矩阵乘法计算
  • 转置满足 (AT)T = A,(A+B)T = AT+BT,(kA)T=kAT,(AB)T = BTAT

    矩阵的逆

  • AB = BA = E,逆矩阵是唯一的,记为B = A-1

  • 伴随矩阵A满足AA=|A|E;矩阵可逆,|A| ≠ 0;A-1 = (|A|)-1 A*;numpy.linalg.inv(a)可以计算逆矩阵

    向量组与矩阵的秩

  • 线性组合、线性表出、线性相关