Numpy庫高階教程(一)求解線性方程組

2021-07-10 19:01:46 字數 1022 閱讀 9393

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\n", a

現在我們使用inv函式計算逆矩陣

inverse = np.linalg

.inv(a)

print "inverse of a\n", inverse

我們檢查一下兩矩陣相乘的結果

print

"check\n", a * inverse

需要說明的是這裡的 a * inverse是兩個矩陣中對應元素逐個相乘,這就要求了兩矩陣的行和列相等。

建立矩陣a和陣列b:

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

print

"a\n", a

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

print

"b\n", b

這裡可以直接呼叫linalg中的solve函式求解

x = np.linalg

.solve(a, b)

print "solution", x

使用dot函式檢查解的正確性:

print

"check\n", np.dot(a , x)

這裡的dot函式是兩個矩陣相乘,而非矩陣內元素逐個相乘

Numpy庫高階教程(一)求解線性方程組

numpy是乙個很強大的python科學計算庫。為了機器學習的須要。想深入研究一下numpy庫的使用方法。用這個系列的部落格。記錄下我的學習過程。系列 numpy庫高階教程 二 正在持續更新 numpy.linalg模組包括線性代數的函式。能夠用來求矩陣的逆,求解線性方程組 求特徵值及求解行列式。m...

NumPy 教程(第 20 章) 矩陣庫

numpy 中包含了乙個矩陣庫numpy.matlib,該模組中的函式返回的是乙個矩陣,而不是 ndarray 物件 乙個m n的矩陣是乙個由 m 行 row n 列 column 元素排列成的矩形陣列 矩陣裡的元素可以是數字 符號或數學式。以下是乙個由 6 個數字元素構成的 2 行 3 列的矩陣 ...

mysql高階教程(一)

今天我們來學習一些mysql的高階使用教程。首先,我們用select語句來檢視一下這個persons的表,注意這三句的結果 我們先來試試用 like 找出lastname是zh開頭的人 這裡的 是乙個萬用字元 這裡我們又用like找到了lastname以 ng 結尾的,中間有 i 的,以及中間沒有 ...