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 相关文章推荐
python教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
Python简单日志处理类分享
Feb 14 Python
python使用pymysql实现操作mysql
Sep 13 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
python写程序统计词频的方法
Jul 29 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
TensorFlow打印输出tensor的值
Apr 19 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
初探PHP5
2006/10/09 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
php实现微信支付之企业付款
2018/05/30 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
js实现简单的打印表格
2020/01/15 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
营销专业应届生求职信
2013/11/26 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
优秀毕业生求职信范文
2014/01/02 职场文书
syb养殖创业计划书
2014/01/09 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
环境卫生标语
2015/08/03 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏