gpt4 book ai didi

python - python中数组的矩阵乘法

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:18 25 4
gpt4 key购买 nike

我觉得问这个问题有点傻,但我似乎找不到答案

在 Numpy 中使用数组 我想将 3X1 数组乘以 1X3 数组并得到一个 3X3 数组作为结果,但是因为 dot 函数总是将第一个元素视为列向量,将第二个元素视为行向量,我似乎无法为了让它发挥作用,我必须因此使用矩阵。

A=array([1,2,3])  
print "Amat=",dot(A,A)
print "A2mat=",dot(A.transpose(),A)
print "A3mat=",dot(A,A.transpose())
u2=mat([ux,uy,uz])
print "u2mat=", u2.transpose()*u2

输出:

Amat= 14  
A2mat= 14
A3mat= 14
u2mat=
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 1.]]

最佳答案

np.outer是一个内置的:

A = array([1,2,3])
print( "outer:", np.outer( A, A ))

(transpose 不起作用,因为 A.T 与一维数组的 A 完全相同:

print( A.shape, A.T.shape, A[:,np.newaxis].shape )
>>> ( (3,), (3,), (3, 1) )

)

添加:np.add.outer 添加成对的元素 --np.outer 很像 np.multiply.outer。和 np.ufunc.outer (A, B) 将对与任意组合二进制 ufunc .

关于python - python中数组的矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com