我尝试用两个numpy数组进行矩阵乘法,一个是2x2,另一个我想作为2x1处理,但是由于linspace变量,还有第三维。这使得不可能按我的意愿应用转换
代码:
import numpy as np
t = 0
delt = 0
theta = 0
n = np.linspace(0,1,0.1)
E_z = np.exp((t - n) * 1j)
E_y = np.exp((t - n - delt) * 1j)
QW = np.array([[np.cos(theta)**2 + 1j * np.sin(theta)**2, (1 - 1j) * np.sin(theta) * np.cos(theta)],
[1j * np.cos(theta)**2 + np.sin(theta)**2, (1 - 1j) * np.sin(theta) * np.cos(theta)]])
QW = np.multiply(QW, np.exp(-(pi/4) * 1j))
E = np.array([[E_y],[E_z]])
E = np.dot(QW, E)
收到的错误为
“ValueError:形状(2,2)和(2,1,14)未对齐:2(尺寸1)!=1(尺寸1)”
谢谢你的帮助
代码出了问题
这会告诉numpy您要堆叠2个10 x 1数组,从而生成2 x 1 x 10。去掉内括号会生成一个2 x 10数组。为了便于将来参考,可以使用.squeeze方法删除内部1维
相关问题 更多 >
编程相关推荐