📜  Python中的numpy.dot

📅  最后修改于: 2020-06-17 04:38:08             🧑  作者: Mango

numpy.dot(vector_a, vector_b, out = None) 返回向量a和b的点积。它可以处理2D数组,但将其视为矩阵,并将执行矩阵乘法。对于N维,它是a的最后一个轴和b的倒数第二个轴的和积:

dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])

参数:

  1. vector_a: [array_like]如果a是复数,则其复共轭用于计算点积。
  2. vector_b: [array_like]如果b是复数,则其复共轭用于点积的计算。
  3. out: [array,optional]输出参数必须是C连续的,并且其dtype必须是为dot(a,b)返回的dtype。

返回:

向量a和b的点积。如果vector_a和vector_b为一维,则返回标量

代码1 : 

# Python程序说明numpy.dot()方法 
  
import numpy as geek 
  
# 标量 
product = geek.dot(5, 4) 
print("标量值的点积  : ", product) 
  
# 一维阵列 
vector_a = 2 + 3j
vector_b = 4 + 5j
  
product = geek.dot(vector_a, vector_b) 
print("点积  : ", product) 

输出 

标量值的点积  :  20
点积  :  (-7+22j)

Code1如何工作?

vector_a = 2 + 3j
vector_b = 4 + 5j

现在点积:
= 2(4 + 5j)+ 3j(4 – 5j)
= 8 + 10j + 12j – 15
= -7 + 22j

 

代码2: 

# Python程序说明numpy.dot()方法 
  
import numpy as geek 
  
# 一维阵列 
vector_a = geek.array([[1, 4], [5, 6]]) 
vector_b = geek.array([[2, 4], [5, 2]]) 
  
product = geek.dot(vector_a, vector_b) 
print("点积  : \n", product) 
  
product = geek.dot(vector_b, vector_a) 
print("\n点积  : \n", product) 
  
"""  
代码2:作为普通矩阵乘法 
"""

输出: 

点积  : 
 [[22 12]
 [40 32]]

点积  : 
 [[22 32]
 [15 32]]