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

Python3 Qutip安装

  1. 下载Anaconda3官网,网速可能较慢,建议从清华镜像下载。
  2. 安装Anaconda3,默认即可。
  3. windows需要安装vs_BuildTools,选择使用C++的桌面开发,安装。保证Qutip中使用到的cython运行环境。应该是多安装了一些组件,但是不确定哪些可以不装。
  4. 重启电脑(保证环境变量作用)
  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
      # 如果不添加虚拟环境,或者无多环境需求下面两行可不执行
      conda create -n qutip-env qutip #qutip-env为环境名,可自定义
      conda activate qutip-env #同上
      # 安装qutip以及相关的包
      conda install numpy scipy cython matplotlib nose jupyter notebook spyder
      
    • conda install qutip报错,运行conda update --all后再次运行
  6. 测试
    1. 打开命令提示行(终端)输入ipython,如果安装虚拟环境请先激活环境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])
    
    复制自Qutip的官方教程含时主方程部分
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。