首页 > 代码库 > 《机器学习算法原理与编程实践》学习笔记(三)

《机器学习算法原理与编程实践》学习笔记(三)

(上接第一章)

1.2.5 Linalg线性代数库

  在矩阵的基本运算基础之上,NumPy的Linalg库可以满足大多数的线性代数运算。

  .矩阵的行列式

  .矩阵的逆

  .矩阵的对称

  .矩阵的秩

  .可逆矩阵求解线性方程

1.矩阵的行列式

In [4]: from numpy import *

In [5]: #n阶矩阵的行列式运算

In [6]: A = mat([[1,2,3],[4,5,6],[7,8,9]])

In [7]: print "det(A):",linalg.det(A)
det(A): 6.66133814775e-16

2.矩阵的逆

In [8]: from numpy import *

In [9]: A = mat([[1,2,3],[4,5,6],[7,8,9]])

In [10]: invA = linalg.inv(A)#矩阵的逆

In [11]: print "inv(A):",invA
inv(A): [[ -4.50359963e+15   9.00719925e+15  -4.50359963e+15]
 [  9.00719925e+15  -1.80143985e+16   9.00719925e+15]
 [ -4.50359963e+15   9.00719925e+15  -4.50359963e+15]]

3.矩阵的对称

In [12]: from numpy import *

In [13]: A = mat([[1,2,3],[4,5,6],[7,8,9]])

In [14]: AT= A.T

In [15]: print A*AT
[[ 14  32  50]
 [ 32  77 122]
 [ 50 122 194]]

4.矩阵的秩

In [16]: from numpy import *

In [17]: A = mat([[1,2,3],[4,5,6],[7,8,9]])

In [18]: print linalg.matrix_rank(A)#矩阵的秩
2

5.可逆矩阵求解

资料来源:《机器学习算法原理与编程实践》郑捷

《机器学习算法原理与编程实践》学习笔记(三)