我有一個5x5陣列的數組,我想矩陣乘一個行的轉置與另一行。矩陣乘數組與Numpy
import numpy as np
a = np.array([1, 4, 6, 4, 1])
b = np.array([-1, -2, 0, 2, 1])
c = np.array([-1, 2, 0, -2, 1])
d = np.array([-1, 0, 2, 0, -1])
e = np.array([1, -4, 6, -4, 1])
f = np.vstack([a, b, c, d, e])
result = np.dot(f[1, :].T, f[1, :])
我以爲這會工作,但顯然
f[1, :].T
最終成爲
[-1, -2, 0, 2, 1]
而不是
[[-1]
[-2]
[ 0]
[ 2]
[ 1]]
等np.dot
對待它像一個真正的點produc而不是做矩陣乘法。
我發現名單切片,其中一個指標是一個整數,且其他所有:
S按一個減小尺寸,從而使的f[1, :]
形狀不是(1, 5)
但(5,)
等調換它什麼都不做。
我已經能夠使用f[1, :].reshape((1, 5))
工作,但是有沒有更好的方法來做到這一點?我是否錯過了一種獲得轉置的簡單方法,而無需重新塑造它?
這正是我發佈的,爲什麼重做這個? – Daniel
簡單,我們幾乎同時提交了答案。 – Paul