Python中的Numpy 矩陣運算

Python之Numpy庫基礎——矩陣運算

在學習線性代數時我們所接觸的矩陣之間的乘法是矩陣的叉乘,有這樣一個前提:

若矩陣A是m*n階的,B是p*q階的矩陣,AB能相乘,首先得滿足:n=p,即A的列數要等於B的行數。運算的方法如下圖:

當時學線性代數時老師教的更為直觀記法:

點乘則是這樣:

假如有a,b兩個矩陣,在Matlab中我們實現點乘和叉乘的方式分別如下:

a.*b %表示點乘
a*b %表示叉乘


下面我們來看看python中的操作:

import numpy as np

a = np.arange(1, 10).reshape(3, 3)
b = np.arange(1, 10).reshape(3, 3)
print(a)
print(a*b)  # 點乘隻允許1*m和m*n

a1 = np.mat(np.arange(1, 10).reshape(3, 3))
a2 = np.mat(np.arange(1, 10).reshape(3, 3))
a3 = np.dot(a1, a2) # 叉乘使用dot
print(a1)
print(a3)

運行結果:

使用python操作剛好與Matlab相反,使用點乘計算實際上是各數組相同下標相乘。Numpy庫中的dot函數則是為瞭實現數組相乘。

到此這篇關於Python中的Numpy 矩陣運算的文章就介紹到這瞭,更多相關Python Numpy 矩陣運算內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: