如何为输入列表重复一个函数?

2024-05-20 02:03:08 发布

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

我正在尝试使用QuTip库的以下功能:

coherent_dm(N=10, alpha = c, offset=0, method='operator')

它的输出是一个矩阵,输入是一个复数“c”,但是我想得到多个“c”数列表的矩阵,但如果我将“c”定义为:

t = np.linspace(0,2*np.pi,100)
c = 2*np.exp(-t*1j) + 0.1*10*(1 - np.exp(-t*1j))

然后运行代码,它会给我“维度不匹配”错误。在本例中,我尝试运行一个包含100个复数的列表作为输入“c”,期望输出100个矩阵。任何关于如何解决这个问题的想法都将不胜感激


Tags: 功能alpha列表定义nppi矩阵dm
1条回答
网友
1楼 · 发布于 2024-05-20 02:03:08

^{}返回一个^{}实例。这是一个实现__array__接口的专用对象,但实际上不是numpy数组。在内部,它似乎包含一个稀疏矩阵。这意味着您不能轻易地使coherent_dm一次返回多个矩阵,甚至不能将多个调用的结果连接到单个数组中

因此,您的最佳选择可能是使用列表:

result = [coherent_dm(N=10, alpha=i, offset=0, method='operator') for i in c]

相关问题 更多 >