Abstract:使用numpy进行矩阵的加减乘除、转置、求逆、求特征向量等运算。
1.numpy矩阵运算语法
- import numpy库:import numpy as np
- 创建矩阵:a = np.mat([[x1, x2,…,xn], [y1, y2, …, yn]])
- 矩阵乘法:
- a * b
- np.dot(a, b ):求两数组点积
- 矩阵加减:a - b
矩阵转置:
- a.T
- a.transpose()
矩阵除法:a/b
矩阵求逆:
- a.I
- np.linalg.inv(a)
求特征向量:np.linalg.eig(a)
求迹:np.trace(a)
求行列式的值:numpy.linalg.det()
求两个数组的矩阵乘积:numpy.matual(a, b)
求矩阵形式的线性方程的解:numpy.linalg.solve()
延伸:numpy.linalg 模块里还有很多矩阵运算的方法,感兴趣的可以去了解下 (在文末的Extender里给出了学习材料 Tutorials Numpy 教程)~
关于矩阵乘法需要注意:
- 矩阵乘法规定,只有当第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。
- 若a为 m x p 的矩阵,B为 p x n的矩阵,则 a x b 的结果是 m x n的矩阵。
- 若两矩阵行列数不满足上面的条件,可以对矩阵进行转置。
- 维度数不符合要求,则不能执行矩阵乘法。
2.numpy 数组语法
- 随机生成数组:np.random.rand(m, n)
- 创建数组:np.array([[x1, x2,…,xn], [y1, y2, …, yn]])
- 向数组添加元素:np.append(A, a_i)
- 数组索引:A[2:5] 表示索引数组 A 中第 3 到第 5 个元素
3. 实例(求多元回归最小二乘估计)
多元回归方程参数最小二乘估计的公式:$B=(X^TX)^{-1}X^TY$
代码实例:
1 | import numpy as np |
1 | [[-15.93836228] |
Extender
【非常全的教程】TutorialsPoint Numpy 教程