首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让来自qutip的mcsolve函数工作

让来自qutip的mcsolve函数工作
EN

Stack Overflow用户
提问于 2017-12-15 04:10:06
回答 1查看 273关注 0票数 0

我正在使用anaconda下的qutip包。我只是在我的脚本中调用函数mcsolve。现在,当在Jupyter笔记本下运行时,脚本在几秒钟内就能正常运行并得到结果。但是当在Spyder中运行时,它就会卡住,永远不会结束。我在qutip中的其他函数中从来没有遇到过这个问题。

在Spyder中运行此命令将打印'aa‘,然后打印'bb’,但永远不会打印到'cc‘行:

代码语言:javascript
复制
import qutip as qt
import numpy as np
import matplotlib.pyplot as plt

# Some constants
g = 100
delta = 10
Ka = g/2.5
Gamma = g/200
Gammap = g/50
Nu = 2*g
Delta_a = -4.12*g
Delta_c = Delta_a +delta*g

N = 4

sm = qt.tensor(qt.qeye(N),qt.sigmam())
sp = sm.dag()
a = qt.tensor(qt.destroy(N),qt.qeye(2))
adag = a.dag()

H = Delta_aspsm + Delta_cadaga + g*(adagsm+spa)+Nu*(sp+sm)

sz = qt.tensor(qt.qeye(N),qt.sigmaz())
C1 = np.sqrt(2*Ka)*a C2 = np.sqrt(Gamma)*sm
C3 = np.sqrt(Gammap/4.0)*(spsm-smsp)

rhoss = qt.steadystate(H,[C1,C2,C3])
print('aa')

times = np.linspace(0,10,1000)
IC = qt.tensor(qt.basis(N,0),qt.basis(2,1))
print('bb')

data = qt.mcsolve(H,IC,times,[C1,C2,C3],[adaga,spsm],ntraj = 1)
print('cc') 
EN

回答 1

Stack Overflow用户

发布于 2018-11-22 20:22:11

我修改了你的代码,以便我可以使用python 3,我正在使用Eclipse IDE,但问题不是IDE (Spider/Jupyter),因为我有同样的问题。

ERROR Image

这是一些多处理问题,也许你的Jupyter笔记本使用了不同的python解释器。以下是您的代码的修改版本:

代码语言:javascript
复制
import qutip as qt
import numpy as np
import matplotlib.pyplot as plt

# Some constants
g = 100
delta = 10
Ka = g/2.5
Gamma = g/200
Gammap = g/50
Nu = 2*g
Delta_a = -4.12*g
Delta_c = Delta_a +delta*g

N = 4

sm = qt.tensor(qt.qeye(N),qt.sigmam())
sp = sm.dag()
a = qt.tensor(qt.destroy(N),qt.qeye(2))
adag = a.dag()

H = Delta_a*sp*sm + Delta_c*adag*a + g*(adag*sm+sp*a)+Nu*(sp+sm)

sz = qt.tensor(qt.qeye(N),qt.sigmaz())
C1 = np.sqrt(2*Ka)*a 
C2 = np.sqrt(Gamma)*sm
C3 = np.sqrt(Gammap/4.0)*(sp*sm-sm*sp)

rhoss = qt.steadystate(H,c_op_list=[C1,C2,C3])
print('aa')

times = np.linspace(0,10,1000)
IC = qt.tensor(qt.basis(N,0),qt.basis(2,1))
print('bb')

data = qt.mcsolve(H,IC,times,[C1,C2,C3],[adag*a,sp*sm],ntraj = 10)
print('cc') 

看起来并行处理有问题,看这里:,https://github.com/pytorch/pytorch/issues/5858,当我运行它的时候,我得到了同样的错误。它没有任何安全的方法来处理它,除非你问conda的开发人员。然而,通过猴子补丁,我设法运行了它这是我的控制台镜像:

Execution without error

警告解决方案不稳定,可能会导致一些不一致转到

代码语言:javascript
复制
C:\Users\Your_username\AppData\Local\Continuum\anaconda3\Lib\multiprocess\spawn.py

现在,在脚本的末尾添加以下内容:

代码语言:javascript
复制
def _check_not_importing_main():
     pass
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47821301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档