Qutip安裝教程 (Python量子工具包)

Python3 Qutip安裝

  1. 下載Anaconda3官網(wǎng),網(wǎng)速可能較慢,建議從清華鏡像下載。
  2. 安裝Anaconda3,默認即可。
  3. windows需要安裝vs_BuildTools,選擇使用C++的桌面開發(fā),安裝。保證Qutip中使用到的cython運行環(huán)境。應(yīng)該是多安裝了一些組件,但是不確定哪些可以不裝。
  4. 重啟電腦(保證環(huán)境變量作用)
  5. 打開命令提示行(終端)或者(開始菜單—>Anaconda3—>Anaconda Propt)
    1. 更換清華鏡像源,參考https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
    2. 安裝qutip
      conda config --append channels conda-forge
      conda config --set show_channel_urls yes
      # 如果不添加虛擬環(huán)境,或者無多環(huán)境需求下面兩行可不執(zhí)行
      conda create -n qutip-env qutip #qutip-env為環(huán)境名,可自定義
      conda activate qutip-env #同上
      # 安裝qutip以及相關(guān)的包
      conda install numpy scipy cython matplotlib nose jupyter notebook spyder
      
    • conda install qutip報錯,運行conda update --all后再次運行
  6. 測試
    1. 打開命令提示行(終端)輸入ipython,如果安裝虛擬環(huán)境請先激活環(huán)境conda activate qutip-env
    import qutip.testing as qt
    qt.run()
    
    1. 如果只是測試步驟3是否安裝合適,可以運行下面程序檢驗是否報錯。
    from qutip import *
    import numpy as np
    ustate = basis(3, 0)
    excited = basis(3, 1)
    ground = basis(3, 2)
    N = 2 # Set where to truncate Fock state for cavity
    sigma_ge = tensor(qeye(N), ground * excited.dag()) # |g><e|
    sigma_ue = tensor(qeye(N), ustate * excited.dag()) # |u><e|
    a = tensor(destroy(N), qeye(3))
    ada = tensor(num(N), qeye(3))
    c_ops = [] # Build collapse operators
    kappa = 1.5 # Cavity decay rate
    c_ops.append(np.sqrt(kappa) * a)
    gamma = 6 # Atomic decay rate
    c_ops.append(np.sqrt(5*gamma/9) * sigma_ue) # Use Rb branching ratio of 5/9 e->u
    c_ops.append(np.sqrt(4*gamma/9) * sigma_ge) # 4/9 e->g
    t = np.linspace(-15, 15, 100) # Define time vector
    psi0 = tensor(basis(N, 0), ustate) # Define initial state
    state_GG = tensor(basis(N, 1), ground) # Define states onto which to project
    sigma_GG = state_GG * state_GG.dag()
    state_UU = tensor(basis(N, 0), ustate)
    sigma_UU = state_UU * state_UU.dag()
    g = 5 # coupling strength
    H0 = -g * (sigma_ge.dag() * a + a.dag() * sigma_ge) # time-independent term
    H1 = (sigma_ue.dag() + sigma_ue) # time-dependent term
    H = [H0, [H1, '9 * exp(-(t / 5) ** 2)']]
    output = mesolve(H, psi0, t, c_ops, [a.dag() * a])
    
    復(fù)制自Qutip的官方教程含時主方程部分。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容