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根据区号生成手机号码的方法
Jul 08 Python
PyQt5每天必学之布局管理
Apr 19 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
Oct 11 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Scrapy爬虫文件批量运行的实现
Sep 30 Python
python opencv角点检测连线功能的实现代码
Nov 24 Python
python中取整数的几种方法
Nov 07 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
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php自定义hash函数实例
2015/05/05 PHP
joomla数据库操作示例代码
2016/01/06 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
js实现开关灯效果
2020/03/30 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
python中列表元素连接方法join用法实例
2015/04/07 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python socket实现简单聊天室
2018/04/01 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
更新修改后的Python模块方法
2019/03/03 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
机电一体化自荐信
2013/12/10 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
团日活动总结书
2014/05/08 职场文书
服务口号大全
2014/06/11 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
防震减灾主题班会
2015/08/14 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL