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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
python中查找excel某一列的重复数据 剔除之后打印
Feb 10 Python
使用Python编写基于DHT协议的BT资源爬虫
Mar 19 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
Python实现的knn算法示例
Jun 14 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
python批量修改ssh密码的实现
Aug 08 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
python将字母转化为数字实例方法
Oct 04 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
python中 .npy文件的读写操作实例
Apr 14 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 类型转换函数intval
2009/06/20 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php简单的上传类分享
2016/05/15 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
经销商订货会主持词
2014/03/27 职场文书
小班评语大全
2014/05/04 职场文书
学校献爱心活动总结
2014/07/08 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
农村文化建设标语
2014/10/07 职场文书
教师工作态度自我评价
2015/03/05 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python