Python 中的幾種矩陣乘法 np.dot, np.multiply, *


使用array時,運算符 * 用於計算數量積(點乘),函數 dot() 用於計算矢量積(叉乘).
使用matrix時,運算符 * 用於計算矢量積,函數 multiply() 用於計算數量積.

下面是使用array時:

1. 同線性代數中矩陣乘法的定義: np.dot()

np.dot(A, B):對於二維矩陣,計算真正意義上的矩陣乘積,同線性代數中矩陣乘法的定義。對於一維矩陣,計算兩者的內積。

2. 對應元素相乘 element-wise product: np.multiply(), 或 *

在Python中,實現對應元素相乘,有2種方式,一個是np.multiply(),另外一個是*。這兩種的效果是一樣的。

 

請看代碼:

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 
 3 
 4 import numpy as np
 5 
 6 X = np.array([[1,2],[3,4]])
 7 Y = np.array([[5,6],[7,8]])
 8 
 9 a1 = np.dot(X,Y)
10 print('np.dot(X,Y)=\n',a1)
11 
12 a2 = np.multiply(X,Y)
13 print('np.multiply(X,Y)=\n',a2)

運行結果:

np.dot(X,Y)=
 [[19 22]
 [43 50]]
np.multiply(X,Y)=
 [[ 5 12]
 [21 32]]
X*Y=
 [[ 5 12]
 [21 32]]

  


免責聲明!

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



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