Python numpy dot 矩阵的乘积

1. 函数使用

  • 两个矩阵的维数必须符合要求
  • 即, 左边是 m * n 维的 右边是 n * k 维的
  • 结果为: m * k
>>> import numpy as np
>>> a1 = np.mat([[1, 2, 3], [1, 2, 3]])
>>> a2 = np.mat([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
>>> a1*a2
matrix([[14, 14, 14],
        [14, 14, 14]])
>>> np.dot(a1, a2)
matrix([[14, 14, 14],
        [14, 14, 14]])

  • 课件对于矩阵 * numpy.dot()的效果一致

2. 对于数组

  • 数组是对应相乘, 维数要保持一致
>>> a1 = np.array([[1, 2, 3], [1, 2, 3]])
>>> a2 = np.array([[1, 1, 1], [2, 2, 2]])
>>> a1 * a2
array([[1, 2, 3],
       [2, 4, 6]])

  • 不一致时

>>> a1 = np.array([[1, 2, 3], [1, 2, 3]])
>>> a2 = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
>>> a1 * a2
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,3) (3,3) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值