Python中qutip用法示例详解


Posted in Python onOctober 02, 2020

前言

QuTip是用于模拟开放量子系统动力学的开源库。QuTip库依赖于的Numpy、Scipy和Cython的数值包。此外,matplotlib提供了图形输出。http://qutip.org/。

python安装比较容易,需要选择一个版本,python2或python3,稍微麻烦的是Scipy。

一、N原子系综自旋概率分布

from qutip import *
import numpy as np
import matplotlib.pyplot as plt

n=2#原子数
j = n//2
psi0 = spin_coherent(j, np.pi/3, 0)#设置系统的初态为自旋相干态

Jp=destroy(2*j+1).dag()#升算符
J_=destroy(2*j+1)#降算符
Jz=(Jp*J_-J_*Jp)/2#Jz

H=Jz**2#系统的哈密顿量

tlist=np.linspace(0,3,100)#时间列表
result=mesolve(H,psi0,tlist)#态随时间的演化

theta=np.linspace(0, np.pi, 50)
phi=np.linspace(0, 2*np.pi, 50)

#分别计算四个状态下的 husimi q函数
Q1, THETA1, PHI1 = spin_q_function(result.states[0], theta, phi)
Q2, THETA2, PHI2 = spin_q_function(result.states[30], theta, phi)
Q3, THETA3, PHI3 = spin_q_function(result.states[60], theta, phi)
Q4, THETA4, PHI4 = spin_q_function(result.states[90], theta, phi)

#在四个子图中分别画出四个状态下的husimi q函数
fig = plt.figure(dpi=150,constrained_layout=1)
ax1 = fig.add_subplot(221,projection='3d')
ax2 = fig.add_subplot(222,projection='3d')
ax3 = fig.add_subplot(223,projection='3d')
ax4 = fig.add_subplot(224,projection='3d')

plot_spin_distribution_3d(Q1, THETA1, PHI1,fig=fig,ax=ax1)
plot_spin_distribution_3d(Q2, THETA2, PHI2,fig=fig,ax=ax2)
plot_spin_distribution_3d(Q3, THETA3, PHI3,fig=fig,ax=ax3)
plot_spin_distribution_3d(Q4, THETA4, PHI4,fig=fig,ax=ax4)

for ax in [ax1,ax2,ax3,ax4]:
 ax.view_init(0.5*np.pi, 0)
 ax.axis('off')#不显示坐标轴

fig.show()

运行结果:

Python中qutip用法示例详解

二、原子与光场相互作用

from qutip import *
import numpy as np
import matplotlib.pyplot as plt

alpha=1#相干光的参数alpha
n=2#原子数
j = n/2

psi0 = tensor(coherent(10,alpha),spin_coherent(j, 0, 0))#设置系统的初态

a=destroy(10)#光场的湮灭算符
a_plus=a.dag()#光场的产生算符
Jp=destroy(n+1).dag()#原子的升算符
J_=destroy(n+1)#原子的降算符
Jx=(Jp+J_)/2#原子的Jx算符
Jy=(Jp-J_)/(2j)#原子的Jy算符,这里的j是虚数单位
Jz=(Jp*J_-J_*Jp)/2#原子的Jz算符

H=tensor(a,Jp)+tensor(a_plus,J_)#系统的哈密顿量
tlist=np.linspace(0,10,1000)#时间列表
result=mesolve(H,psi0,tlist)#态随时间的演化

fig=plt.figure()
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)

ax1.plot(tlist,expect(tensor(qeye(10),Jx),result.states))#Jx的平均值随时间变化图
ax2.plot(tlist,expect(tensor(qeye(10),Jy),result.states))#Jy的平均值随时间变化图
ax3.plot(tlist,expect(tensor(qeye(10),Jz),result.states))#Jz的平均值随时间变化图
ax4.plot(tlist,expect(tensor(qeye(10),Jx**2+Jy**2+Jz*2),result.states))#J平方的平均值随时间变化图

fig.subplots_adjust(top=None,bottom=None,left=None,right=None,wspace=0.4,hspace=0.4)#设置子图间距
fig.show()

运行结果:

Python中qutip用法示例详解

总结

到此这篇关于Python中qutip用法的文章就介绍到这了,更多相关Python qutip用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python3 编写简单信用卡管理程序
Dec 21 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
python编写Logistic逻辑回归
Dec 30 Python
Python装饰器用法示例小结
Feb 11 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
python字符串循环左移
Mar 08 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
Python多线程正确用法实例解析
May 30 Python
python 19个值得学习的编程技巧
Aug 15 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 #Python
Python通过fnmatch模块实现文件名匹配
Sep 30 #Python
Python tempfile模块生成临时文件和临时目录
Sep 30 #Python
Python实现定时监测网站运行状态的示例代码
Sep 30 #Python
python如何实现word批量转HTML
Sep 30 #Python
Python识别验证码的实现示例
Sep 30 #Python
Python列表嵌套常见坑点及解决方案
Sep 30 #Python
You might like
function.inc.php超越php
2006/12/09 PHP
PHP Directory 函数的详解
2013/03/07 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
JavaScript的继承的封装介绍
2013/10/15 Javascript
js倒计时小程序
2013/11/05 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
vue使用laydate时间插件的方法
2018/11/14 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
python rsa 加密解密
2017/03/20 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
使用python实现个性化词云的方法
2017/06/16 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
python实现最长公共子序列
2018/05/22 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python3将变量输入的简单实例
2020/08/19 Python
python飞机大战游戏实例讲解
2020/12/04 Python
python opencv实现图像配准与比较
2021/02/09 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
新春文艺演出主持词
2014/03/27 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
谢师宴答谢词
2015/01/05 职场文书
薪资证明范本
2015/06/19 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android