numpy矩阵乘法中遇到的问题

这篇博客探讨了在numpy中使用*运算符进行矩阵乘法时遇到的问题。作者指出,'*'运算实际上是对应元素相乘,而非真正的矩阵乘法。只有特定情况下,如1 * n或n * n的一维向量相乘才是合法的。接着,文章介绍了np.dot函数,它是真正的矩阵乘法操作,并强调了矩阵和array的区别。最后,作者提到了矩阵转置的方法并进行了验证。
摘要由CSDN通过智能技术生成

一、* 到底是怎么回事

    我们先来看一下问题出在哪

以前没有深入接触过、计算过矩阵。一个 1 * 2 矩阵和 6 * 1 矩阵“ *” 运算,得到了一个6 * 2 矩阵,感觉这不科学啊??那么问题出在哪呢?

一言蔽之,“*”运算要理解成,对应元素相乘,这句话至关重要

我们来看一个例子

x1 = np.array([1,2])
x3 = np.array([[1],[2],[3],[4],[5],[6]])
x1 * x3

1 * 2和6 * 1理论上不能相乘,但是我们这么看。

只能叫做向量,向量与二维矩阵不能直接相乘,因此过程拆分为,如果两个相乘的都是多维,则可以理解成两个for循环的嵌套

for i in x3:
    print(x1 * i)
    print("=====")



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值