线阵python的正方形数组

2024-05-17 12:14:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个线性向量A得到一个平方矩阵B,这样B = A * transpose(A)A是一个numpy数组,np.shape(A)返回(10,)。我希望B(10,10)数组。我尝试了B = np.matmut(A, A[np.newaxis]),但是我得到一个错误:

shapes (10,) and (1,10) not aligned: 10 (dim 0) != 1 (dim 0)

Tags: andnumpy错误npnot线性矩阵数组
3条回答

外部产品变化:

a = A.reshape(-1, 1) # make sure it's a column vector
B = a @ a.T

解决方案有点难看,但它能满足您的需要。在

import numpy as np

vector = np.array([1,2,3,4,5,6,7,8,9,10],)
matrix = np.dot(vector[:,None],vector[None,:])
print(matrix)

也可以执行以下操作:

^{pr2}$

这个问题来自于这样一个事实,即转换一维数组并没有达到预期的效果。在

您可以使用outer来执行此操作:

import numpy as np
vector = np.arange(10)
np.outer(vector, vector)

相关问题 更多 >