Numpy-矩阵操作常用函数
一些常用的矩阵操作函数封装在np模块中,而一些不常用的和更高级的矩阵计算则封装在np.linalg模块里。
np模块
函数 | 作用 |
---|---|
transpose(A)或A.T | 得到转置矩阵 |
diag(A) | 以一维数组返回矩阵的对角元素 |
dot(A,B)或A.dot(B) | 矩阵点乘 |
multiply(A,B) | 矩阵对应位置相乘 |
trace(A) | 迹运算,对角线元素的和 |
np.linalg模块
函数 | 作用 |
---|---|
det(A) | 计算矩阵行列式 |
eig(A) | 计算方阵的本征值和本征向量 |
inv(A) | 计算方阵的逆 |
qr(A) | 计算qr分解 |
svd(A) | 计算奇异值分解svd |
solve(A,B) | 解线性方程组Ax=B,其中A为方阵 |
lstsq(A,B) | 计算Ax=B的最小二乘解 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import numpy as np nd1 = np.arange(4).reshape([2, 2]) print(nd1) ''' [[0 1] [2 3]] ''' t = np.transpose(nd1) # 转置 print(t) ''' [[0 2] [1 3]] ''' t = np.diag(nd1) # 返回对角线元素 print(t) ''' [0 3] ''' t = np.dot(nd1, nd1) # 点乘 print(t) ''' [0 1][0 1] [2 3] [2 3][2 3] = [6 11] 输出形式为: [[ 2 3] [ 6 11]] ''' t = np.multiply(nd1, nd1) # 矩阵对应位置相乘 ''' [[0 1] [4 9]] ''' t = np.trace(nd1) # 迹运算(对角元素的和) print(t) ''' 3 ''' t = np.linalg.inv(nd1) # 计算逆矩阵 print(t) ''' [[-1.5 0.5] [ 1. 0. ]] ''' |