Numpy矩陣乘積函式(dot)運算規則解析

2021-10-07 23:56:40 字數 942 閱讀 4865

a為二維m*n的舉證,b必須為n*l的矩陣,l兩個矩陣的n必須一致,也就是說a有多少列,b就必須有多少行,否則無法運算。結果得到m*l的矩陣

m*l = np.dot(m*n,n*l),m n l指維度,得到m*l的矩陣

運算順序如下圖:

程式演示如下:

import numpy as np

a = [[1, 2, 3], [4, 5, 6]]

b = [[3, 2], [4, 3], [4, 3]]

print(np.dot(a, b))

結果:

[[23 17]

[56 41]]

如果a和b的形狀交換會怎麼樣呢?

import numpy as np

a = [[1, 2, 3], [4, 5, 6]]

b = [[3, 2], [4, 3], [4, 3]]

print(np.dot(b, a))

結果是這樣喲!不是說形狀一定是變小喲

[[11 16 21]

[16 23 30]

[16 23 30]]

這是a和b的形狀不一樣:

import numpy as np

a = [[1, 2, 3], [4, 5, 6]]

b = [[3], [4], [4]]

print(np.dot(a, b))

結果如下:

[[23]

[56]]

Numpy 點積和 dot 矩陣相乘

一 numpy的點積和dot矩陣相乘 dot 使用需注意 前乙個矩陣的行數要與後乙個矩陣的列數一致 import numpy as np print 點積 a b,對應位置相乘 a np.array 1,1 0,1 b np.array 2,0 3,4 print a n a print b n b...

對NumPy中dot 函式的理解

今天學習到numpy基本的運算方法,遇到了乙個讓我比較難理解的問題。就是dot函式是如何對矩陣進行運算的。一 dot 的使用 dot 返回的是兩個陣列的點積 dot product 1.如果處理的是一維陣列,則得到的是兩陣列的內積 順便去補一下數學知識 in d np.arange 0,9 out ...

numpy 之 陣列與矩陣的乘積

1.當為array的時候,預設d f就是對應元素的乘積,multiply也是對應元素的乘積,dot d,f 會轉化為矩陣的乘積,dot點乘意味著相加,而multiply只是對應元素相乘,不相加 2.當為mat的時候,預設d f就是矩陣的乘積,multiply轉化為對應元素的乘積,dot d,f 為矩...