簡體   English   中英

在 NumPy 中是否有一種矢量化的方法來進行類似矩陣乘法的運算?

[英]Is there a vectorized way to do matrix multiplication-like operations in NumPy?

我有一個形狀為mxn的矩陣A和另一個形狀為kxn 的較小矩陣B 我想計算 A 和 B 行之間的歐幾里德距離,生成形狀為mxk的矩陣C 我已經有一個函數dist(row1, row2) 使用循環這很簡單,但是在 NumPy 中是否有一種矢量化的方法來做到這一點?

我相信我想要的可以轉換為自定義矩陣乘法式操作(如果我轉置 B),並且這個問題似乎朝着相同的方向發展,但最好的答案是重新排列操作以實現矢量化(我想要使用我單獨的函數dist(row1, row2) )。 第二個答案使用單獨的函數,但它也使用循環。

嘗試以下可能有幫助? 如果A是形狀mxn並且B是形狀kxnC應該是形狀mxk

C = np.linalg.norm([A[:,None,:]-B],axis=-1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM