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中使用HTML模版的教程
Apr 29 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
python脚本开机自启的实现方法
Jun 28 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
Python求正态分布曲线下面积实例
Nov 20 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
python批量处理txt文件的实例代码
Jan 13 Python
python程序文件扩展名知识点详解
Feb 27 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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的5个入手程序
2006/11/23 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
js DOM模型操作
2009/12/28 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
微信JS接口大全
2016/08/25 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python处理excel绘制雷达图
2019/10/18 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
企业节能减排实施方案
2014/03/19 职场文书
授权收款委托书
2014/09/23 职场文书
博士生专家推荐信
2014/09/26 职场文书
2014年平安夜寄语
2014/12/08 职场文书
感谢信模板大全
2015/01/23 职场文书
怎样写离婚协议书
2015/01/26 职场文书
材料采购员岗位职责
2015/04/03 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
解析Java异步之call future
2021/06/14 Java/Android
Java存储没有重复元素的数组
2022/04/29 Java/Android