1
我試圖向量化一個函數,它作爲其輸入一個3分量矢量「x」和一個3x3「基質」,併產生標量NumPy的 - 點積沿第三維度而不復制
def myfunc(x, matrix):
return np.dot(x, np.dot(matrix, x))
然而這需要被稱爲「n」次,並且向量x每次都具有不同的分量。我想修改這個函數,使得它輸入一些3xn數組(它的列是向量x),併產生一個向量,其分量是在每次迭代時計算出的標量。
我可以寫下一份愛因斯坦總結,它完成這項工作,但它需要我構建一個3x3xn的原始3x3「副本」堆棧。我擔心這樣做會消除我嘗試這樣做所帶來的性能收益。有沒有辦法計算我想要的矢量,而不需要製作3x3的副本?
非常感謝您的快速和簡單的解決方案!現在,請考慮它是如何工作的。 – FaceInvader