行列式
定义
- 求解行列式
numpy.linalg.det(np.array)
- 求解线性方程组:
numpy.linalg.slove(np.array, np.array)
- 线性方程组的系数行列式D ≠ 0,则式有唯一解;当等式右端的常数项全为零时称为齐次线性方程组
- 系数行列式D ≠ 0 是齐次线性方程组有非零解的充分必要条件
逆序数
def amount(b):
counts = [np.sum(b[:i] > bb) for i, bb in enumerate(b)]
return np.sum(counts)
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)
可以计算逆矩阵向量组与矩阵的秩
-