python中的矩阵乘法——dot、multiply、星号(*)

1 np.dot

dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积矩阵乘法

用法:A.dot(B) 等价于 np.dot(A,B) ———

如果A、B是一维数组,且长度一样,则是执行数组的内积。

import numpy as np
A=np.array([0,1,2,3,4])
B=np.array([1,2,3,4,5])
print np.dot(A,B)

输出

0*1 + 1*2 + 2*3 + 3*4 + 4*5
=40

如果A是m*n 矩阵 ,B是n*m矩阵,则是执行矩阵乘法,注意m可以不同。

import numpy as np
A=np.arange(0,6).reshape(2,3)
B=np.random.randint(0,10,size=(3,2))
np.dot(A,B)

输出

A(2,3)           B(3,2)            输出(2,2)
[[0 1 2]        [[7 5]            [[12 11]
 [3 4 5]]    *   [0 7]    =        [51 53]] 
                 [6 2]]

2 np.multiply 

数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致。

np.multiply (A,B),A、B的维数必须一致。

import numpy as np
A = np.arange(1,5).reshape(2,2)
A = np.arange(1,5).reshape(2,2)
np.multiply(A,B)

输出

A
[[1, 2]
 [3, 4]]
B
[[0, 1]
 [2, 3]]
输出
[[ 0,  2]
 [ 6, 12]]

3 星号乘法(*)

对数组执行对应位置相乘

import numpy as np
A = np.arange(1,5).reshape(2,2)
A = np.arange(1,5).reshape(2,2)
A*B 

 输出

A*B=np.multiply(A,B)
[[ 0,  2]
 [ 6, 12]]

 对矩阵执行矩阵乘法运算  

(np.mat(A))*(np.mat(B))
np.mat()函数用于将输入解释为矩阵
(np.mat(A))*(np.mat(B))=np.dot(A,B)
[[ 4,  7]
 [ 8, 15]]

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python,可以使用@符号进行矩阵乘法运算。具体用法如下: import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]]) # 2-D array: 3 x 2 two_dim_matrix_two = np.array([[1, 2], [3, 4], [5, 6]]) # 使用@符号进行矩阵乘法运算 matrix_multi_res = two_dim_matrix_one @ two_dim_matrix_two print('matrix_multi_res: %s' %(matrix_multi_res)) 上述代码,我们首先导入numpy库,并定义了两个二维矩阵two_dim_matrix_one和two_dim_matrix_two。然后,我们使用@符号进行矩阵乘法运算,将结果赋值给matrix_multi_res变量。最后,我们打印出结果matrix_multi_res。 请注意,@符号只在Python 3.5及以上版本支持。如果你使用的是更低版本的Python,可以使用np.dot()函数来进行矩阵乘法运算。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python 的几种矩阵乘法 np.dot, np.multiply, *](https://blog.csdn.net/u012609509/article/details/70230204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python数组和矩阵乘法及使用总结](https://blog.csdn.net/manjhOK/article/details/80017892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NPC_0001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值