1.列表作為資料結構
def matrixproduct(a, b):時間複雜度太高o(n^3)temp2 =
for i in range(len(a)):
temp1 =
for j in range(len(b[0])):
total = 0
for k in range(len(a[0])):
total += a[i][k] * b[k][j]
return temp2
print(matrixproduct([[1,0],[0,0]], [[0,1],[1,0]]))
以後再想辦法用矩陣快速冪來優化,降低時間複雜度
2.numpy中ndarray作為資料結構
(注意numpy陣列的a*b指的並不是矩陣乘法,a.dot(b)或者numpy.dot(a,b))
import numpy as np3.numpy中mat作為資料結構def matrixproduct(a, b):
a=np.array(a)
b=np.array(b)
c=np.dot(a,b)
return c.tolist()
print(matrixproduct([[1,0],[0,0]], [[0,1],[1,0]]))
這種矩陣格式就可以a*b了
import numpy as npdef matrixproduct(a, b):
a=np.mat(a)
b=np.mat(b)
c=a*b
return c.tolist()
print(matrixproduct([[1,0],[0,0]], [[0,1],[1,0]]))
Python 矩陣乘法
np.dot a,b 對於二維矩陣,計算真正意義上的矩陣乘積,同線性代數中矩陣乘法的定義。對於一維矩陣,計算兩者的內積。見如下python import numpy as np 2 d array 2 x 3 two dim matrix one np.array 1,2,3 4,5,6 2 d a...
Python演算法 矩陣鏈乘法
題目解析參考 動態規劃 矩陣鏈乘法 矩陣乘法是乙個滿足結合律的運算。顯然,對於矩陣a b c來說,ab c 與 a bc 是等價的,我們可以根據自己的心情選擇任意的運算順序,總之,結果都是一樣的。糟糕的是,對計算機來說可不是這麼回事,若我們假定矩陣 a 10,20 b 20,30 c 30,40 那...
矩陣乘法 矩陣乘法的基本實現
求解關於兩個矩陣的乘積 參考線性代數裡面的兩個矩陣相乘的規則,我這裡不再贅述,詳情附上了乙個鏈結,我的程式設計也是用了裡面的例子 這裡寫鏈結內容 具體的過程我會在 片裡面加上注釋 矩陣乘法 author seen 2015 09 18 include using namespace std int ...