例如,假設我有:Python/Numpy它是什麼叫/你如何表示這種操作,你乘以兩個向量的每個元素?
x = array([1, 2, 3])
y = array([4, 5, 6])
標準 「陣列乘法」 在Python做z = x * y = array([4, 10, 18])
。在matlab中,爲了獲得相同的效果,你可以*。 IIRC。
調用這個操作是什麼,哪個符號用來表示它?
例如,假設我有:Python/Numpy它是什麼叫/你如何表示這種操作,你乘以兩個向量的每個元素?
x = array([1, 2, 3])
y = array([4, 5, 6])
標準 「陣列乘法」 在Python做z = x * y = array([4, 10, 18])
。在matlab中,爲了獲得相同的效果,你可以*。 IIRC。
調用這個操作是什麼,哪個符號用來表示它?
它是一個開放的圓圈表示的阿達瑪產品: http://en.wikipedia.org/wiki/Matrix_multiplication#Hadamard_product
在我看來,你是表達S = sum_i(X_I * Y_I)後?這就是所謂的內在產品。從numpy的文件:
from numpy import *
x = array([1,2,3])
y = array([2,2,2])
inner(x,y) <-- Should give 1*2 + 2*2 + 3*2 = 12
你已經說明了運算,你所得到的與*在MATLAB中,被稱爲舒爾/阿達馬的產品,往往一個小的空心圓作爲符號。既然這是你用numpy中的普通'*'操作符得到的,我懷疑是否有單獨的Schur函數。
實際上有三種不同的方式來乘以兩個向量的所有元素。
第一個,內部或dot product返回一個標量。第二個cross product返回一個向量。第三個tensor product返回一個二階張量。
我相信你的意思是第一個,因爲它對大多數人來說都很熟悉,但是我認爲這是爲了完整性而發佈它。
完美正確的答案。我看不出爲什麼這是downvoted。 – duffymo 2012-08-29 23:04:38
這就是我需要的,謝謝。 – cjaynga 2011-04-19 08:33:09