gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 07:53:50 24 4
gpt4 key购买 nike

我正在尝试使用 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 个矩阵。任何有关如何解决此问题的想法将不胜感激。

最佳答案

coherent_dm 返回 qutip.Qobj 实例。这是一个满足 __array__ 的特殊对象。接口(interface),但实际上并不是一个 numpy 数组。在内部,它似乎包含一个稀疏矩阵。这意味着你不能轻易地制作 coherent_dm一次返回多个矩阵,甚至将多个调用的结果连接到一个数组中。
因此,您最好的选择可能是使用列表推导:

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

关于python - 如何为输入列表重复一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66808189/

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