[英]How to repeat a function for a list of inputs?
我正在嘗試使用 QuTip 庫的以下 function:
coherent_dm(N=10, alpha = c, offset=0, method='operator')
它是 output 是一個矩陣,它的輸入是一個復數“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 個矩陣的 output。 任何有關如何解決此問題的想法將不勝感激。
coherent_dm
返回一個qutip.Qobj
實例。 這是一個滿足__array__
接口的專用 object,但實際上不是 numpy 數組。 在內部,它似乎包含一個稀疏矩陣。 這意味着您不能輕易地使coherent_dm
一次返回多個矩陣,甚至無法將多個調用的結果連接到一個數組中。
因此,您最好的選擇可能是使用列表推導:
result = [coherent_dm(N=10, alpha=i, offset=0, method='operator') for i in c]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.