首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向量*向量(矩阵乘法)

向量*向量(矩阵乘法)
EN

Stack Overflow用户
提问于 2020-07-09 14:34:08
回答 2查看 37关注 0票数 2

我想用一个向量来做以下事情。

代码语言:javascript
复制
a = np.array(np.arange(0, 4, 1))

我想得到一个乘法,结果是一个矩阵,如下所示

代码语言:javascript
复制
 | 0  1  2  3  4
-| - - - - - - - 
0| 0  0  0  0  0
1| 0  1  2  3  4
2| 0  2  4  6  8
3| 0  3  6  9 12
4| 0  4  8 12 16

对于下面的代码,我总是会得到一个标量:

代码语言:javascript
复制
a*a
a.dot(a)
a.T*a
a*a.T
a.T.dot(a)
a.dot(a.T)
a.transpose()*a
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-09 14:37:58

请参阅Convert NumPy vector to 2D array / matrix

代码语言:javascript
复制
>>> a = a[:,np.newaxis]                                                                                                                       
>>> a * a.T                                                                                                                                   
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])
票数 1
EN

Stack Overflow用户

发布于 2020-07-09 15:58:48

一个更好的解决方案将是

代码语言:javascript
复制
a = np.array([np.arange(0, 4, 1)])
a*a.T
array([[0, 0, 0, 0],
       [0, 1, 2, 3],
       [0, 2, 4, 6],
       [0, 3, 6, 9]])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62808829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档