numpy中矩陣乘法,星乘(*)和點乘(.dot)的區別


import numpy
a = numpy.array([[1,2],
                 [3,4]])
b = numpy.array([[5,6],
                 [7,8]])
a*b
>>>array([[ 5, 12],
          [21, 32]])
a.dot(b)
>>>array([[19, 22],
          [43, 50]])
numpy.dot(a,b)
>>>array([[19, 22],
          [43, 50]])
numpy.dot(b,a)
>>>array([[23, 34],
          [31, 46]])

總結:

星乘表示矩陣內各對應位置相乘,矩陣a*b下標(0,0)=矩陣a下標(0,0) x 矩陣b下標(0,0);

點乘表示求矩陣內積,二維數組稱為矩陣積(mastrix product)。

用文字表述:

所得到的數組中的每個元素為,第一個矩陣中與該元素行號相同的元素與第二個矩陣與該元素列號相同的元素,兩兩相乘后再求和。

文字難以理解,直接上圖:

綜上所述,二維矩陣a*b下標(0,1)=矩陣a下標(0,) x 矩陣b下標(,1)

補充:

一維矩陣下標

[(0),(1),(2),(3)]
 

二維矩陣下標

  1.  
    [[( 0, 0),( 0, 1),( 0, 2),( 0, 3)],
  2.  
    [( 1, 0),( 1, 1),( 1, 2),( 1, 3)],
  3.  
    [( 2, 0),( 2, 1),( 2, 2),( 2, 3)],
  4.  
    [( 3, 0),( 3, 1),( 3, 2),( 3, 3)]]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM