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计算最大优先级队列实例
Dec 18 Python
用Python进行TCP网络编程的教程
Apr 29 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
由面试题加深对Django的认识理解
Jul 19 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
python numpy 矩阵堆叠实例
Jan 17 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
Python中random模块常用方法的使用教程
Oct 04 Python
python 录制系统声音的示例
Dec 21 Python
python绘制箱型图
Apr 27 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目录管理函数小结
2008/09/10 PHP
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python网络编程详解
2017/10/31 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
初一科学教学反思
2014/01/27 职场文书
合作投资意向书
2014/04/01 职场文书
运动会班级口号
2014/06/09 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
公司车队管理制度
2015/08/04 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
Oracle用户管理及赋权
2022/04/24 Oracle