我想乘陣列和矩陣迭代的方式:numpy的陣列和矩陣乘法 - 返回矩陣
for i in range(n):
V = np.dot(M, V)
但np.dot
返回一個矩陣。我顯然可以將矩陣轉換爲numpy數組,但有沒有一種正常的方法來執行這個任務?
我想乘陣列和矩陣迭代的方式:numpy的陣列和矩陣乘法 - 返回矩陣
for i in range(n):
V = np.dot(M, V)
但np.dot
返回一個矩陣。我顯然可以將矩陣轉換爲numpy數組,但有沒有一種正常的方法來執行這個任務?
擴大在什麼@hpaulj說:
我猜你的初始化代碼是一樣的東西
V = np.array([1,2,3])
M = np.matrix([
[1,2,3],
[4,5,6],
[7,8,9]])
很抱歉的混亂,但總的建議是:不要使用矩陣類,永遠。只需使用np.array
V = np.array(...)
M = np.array(...)
np.dot正常工作有兩個array
小號
Matrix類放入因爲Python 3.5之前,沒有獨立的MATMUL經營者,人們就想了一個辦法說M*V
並得到矩陣乘法(在3.5中,你可以說:[email protected]
)。矩陣類導致更多的問題比它解決。任何希望得到另一個的代碼都是錯誤的。
你正在做使用np.dot
正確的事情,爲這個特殊的問題這裏還有np.linalg.matrix_power
謝謝,這有幫助。我不知道矩陣類的事情,也不知道如何將矩陣提升爲權力。 –
numpy的沒有「向量」;只是數組(可能是1d)。 'matrix'是一個總是2d的子類,使用它的函數通常返回相同的東西。如果它讓你感到困惑,請避免使用該課程。你expresion需要編輯。 – hpaulj