1. 程式人生 > >numpy中的np.outer()

numpy中的np.outer()

Welcome To My Blog

result = numpy.outer(a, b) 用來求外積的,非常直觀,比矩陣相乘簡單
1. a,b是兩個陣列,如果a,b是高維陣列,函式會自動將其flatten成1維
2. a的長度是m,b的長度是n,外積的結果result是 m * n的陣列,陣列元素為 result[i,j] = a[i] * a[j]
3. 計算公式如下
a = [a1, …, am] and b = [ b1, …, bn]
result=[
[a1*b1, a1*b2,…,a1*bn]
[a2*b1, a2*b2,…,a2*bn]

[am*b1, am*b2,…,am*bn]
]

具體示例

np.outer([1,2,3],[4,5,6])

np.outer([[1],[2],[3]],[4,5,6])

上面兩句執行結果都是
array([[ 4,  5,  6],
       [ 8, 10, 12],
       [12, 15, 18]])