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文件处理
Feb 29 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python获取多线程及子线程的返回值
Nov 15 Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
python 使用值来排序一个字典的方法
Nov 16 Python
Django REST framework视图的用法
Jan 16 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
python脚本后台执行方式
Dec 21 Python
python实现门限回归方式
Feb 29 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 03 Python
详解python with 上下文管理器
Sep 02 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
用PHP连接Oracle数据库
2006/10/09 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
[51:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python调用新浪微博API项目实践
2014/07/28 Python
Python探索之ModelForm代码详解
2017/10/26 Python
python ansible服务及剧本编写
2017/12/29 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
解决python 找不到module的问题
2020/02/12 Python
Python流程控制语句的深入讲解
2020/06/15 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
人力资源部经理助理岗位职责
2014/03/04 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
2014年国庆节寄语
2014/09/19 职场文书
学习心理学的体会
2014/11/07 职场文书
初中生毕业评语
2014/12/29 职场文书
社区节水倡议书
2015/04/29 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书