Numpy库进阶教程(一)求解线性方程组

前言

Numpy是一个很强大的python科学计算库。为了机器学习的须要。想深入研究一下Numpy库的使用方法。用这个系列的博客。记录下我的学习过程。


系列:
Numpy库进阶教程(二)
正在持续更新

计算逆矩阵

numpy.linalg模块包括线性代数的函数。能够用来求矩阵的逆,求解线性方程组、求特征值及求解行列式。
mat函数能够用来构造一个矩阵,传进去一个专用字符串,矩阵的行与行之间用分号隔开,行内的元素用空格隔开。

import numpy as np

A = np.mat("0 1 2;1 0 3;4 -3 8")
print "A
", A

如今我们使用inv函数计算逆矩阵

inverse = np.linalg.inv(A)
print "inverse of A
", inverse

我们检查一下两矩阵相乘的结果

print "Check
", A * inverse

须要说明的是这里的 A * inverse是两个矩阵中相应元素逐个相乘。这就要求了两矩阵的行和列相等。

求解线性方程组

创建矩阵A和数组b:


A = np.mat("1 -2 1;0 2 -8;-4 5 9")
print "A
", A

b = np.array([0, 8, -9])
print "b
", b

这里能够直接调用linalg中的solve函数求解

x = np.linalg.solve(A, b)
print "Solution", x

使用dot函数检查解的正确性:

print "Check
", np.dot(A , x)

这里的dot函数是两个矩阵相乘,而非矩阵内元素逐个相乘

【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/zhchoutai/p/8375771.html