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网络编程中urllib2模块的用法总结
Jul 12 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
Python类的继承和多态代码详解
Dec 27 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Python常用类型转换实现代码实例
Jul 28 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
python3 sqlite3限制条件查询的操作
Apr 07 Python
python 单机五子棋对战游戏
Apr 28 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
header()函数使用说明
2006/11/23 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
ASP Json Parser修正版
2009/12/06 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python中表示字符串的三种方法
2017/09/06 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
python中的常量和变量代码详解
2018/07/25 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
教师党员个人总结
2015/02/10 职场文书