从矢量复制创建一个矩阵,python

时间:2016-02-28 20:36:28

标签: python matrix vector vectorization

我有一个大小为V的向量n。我想创建一个大小为n*n的矩阵,以便矩阵中的每个值都为M(i,j) = V(i)*V(j)

许多循环会解决它,但我需要它相当快。

2 个答案:

答案 0 :(得分:1)

这就是外部产品

import numpy as np

v = np.random.randint(0, 10, 3)
print v

M = np.outer(v,v)
print M

答案 1 :(得分:0)

我建议使用numpy。但是,这是一个使用列表理解的纯python解决方案:

v = [5, 1, 9]
>>> [[row * col for row in v] for col in v]
[[25, 5, 45], [5, 1, 9], [45, 9, 81]]