在矩阵基本运算的基础之上,Numpy的linalg库可以满足大多数的线性代数运算,本节所列的矩阵公式列表和代码如下:
矩阵的行列式
矩阵的逆
矩阵的对称
矩阵的秩
可逆矩阵求解线性方程组
读者可根据自己需求有选择的学习。因使用矢量的方法,矩阵的基本运算得到了较大的简化。
|
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
51
52
53
54
55
56
|
1.矩阵的行列式:from numpy import *# n阶方阵的行列式运算A = mat( [[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])print "det(A):",linalg.det(A); # 方阵的行列式输出结果:det(A): -812.02.矩阵的逆:from numpy import *A = mat( [[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])invA = linalg.inv(A) # 矩阵的逆print "inv(A):",invA输出结果:inv(A): [[ -7.14285714e-02 -1.23152709e-02 5.29556650e-02 9.60591133e-02 -8.62068966e-03] [ 2.14285714e-01 -3.76847291e-01 1.22044335e+00 -4.60591133e-01 3.36206897e-01] [ -2.14285714e-01 8.25123153e-01 -2.04802956e+00 5.64039409e-01 -9.22413793e-01] [ 1.66901077e-16 -4.13793103e-01 8.79310345e-01 -1.72413793e-01 8.10344828e-01] [ 2.14285714e-01 -6.65024631e-02 1.85960591e-01 -8.12807882e-02 -1.46551724e-01]]3.矩阵的对称:from numpy import *A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])AT = A.T #矩阵的对称print A*AT输出结果:[[ 95 131 43 78 43] [131 414 153 168 91] [ 43 153 66 80 26] [ 78 168 80 132 32] [ 43 91 26 32 30]]4.矩阵的秩:from numpy import *A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])print linalg.matrix_rank(A) #矩阵的秩输出结果:55.可逆矩阵求解:from numpy import *A = mat([[1,2,4,5,7,],[9,12,11,8,2,],[6,4,3,2,1,],[9,1,3,4,5],[0,2,3,4,1]])b = [1,0,1,0,1]S = linalg.solve(A,T(b))print S输出结果:[-0.0270936 1.77093596 -3.18472906 1.68965517 0.25369458] |

评论