问题标签 [qutip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python QuTip:在 Bloch 球体中绘制实线
我最近开始使用 QuTip for Python。我想使用 绘制 Bloch 球体中两级系统的演变qutip.Bloch()
,但我不知道如何将这样的图绘制为连续线。
这是我目前使用的代码:
当然,我得到一个带有很多离散点的标准布洛赫球体。有没有办法用直线连接点?
python - 在 Python QuTiP 中集成不成功
我一直在尝试使用 QuTiP 来求解量子力学矩阵微分方程(Lindblad 方程)。这是代码:
此代码应该解决以下等式:
其中 L_i 是矩阵(在列表中:[L1,L2,L3,L4,L5,L6,L7]),H 是哈密顿矩阵,另一个矩阵是密度矩阵,并且是一个常数,其中 T 是温度, k 是玻尔兹曼常数, , 其中 h 是普朗克常数。
每次我运行代码时,都会出现以下错误:
在做了一些调试分析之后,似乎第一次或第二次集成失败了。该错误告诉我增加我尝试过的 nsteps 参数。即使那样它也失败了。更改时间列表(np.linspace 函数生成时间列表)也没有效果。
我很想知道我能做些什么来解决这个错误。如果大家需要更多详细信息,请发表评论。
感谢你的帮助!
python - 用 picos 变量制作 Qobj
我需要编写一个半定程序,在 tr_A(R)^{Tb} >>0 的约束下最小化运算符的踪迹,比如 R。这意味着 R 代表一个 3 qubit 量子系统,并且第一个系统上的迹线为您提供了一个表示剩余 2 qubit 系统的运算符。对其中一个量子位进行部分转置,得到受限 2 量子位系统的部分转置量子态。正是这种状态,我想使半正定。我正在使用 PICOS(编写 SDP)和 qutip(执行操作)。
问题:我需要把Rho做成Qobj,qutip才能理解,但是上面的Rho只是Variable类的一个实例。任何人都知道如何做到这一点?
我也看了这里,http ://picos.zib.de/tuto.html#variables ,它变得更加混乱,因为这个函数将实例放在字典中并且只给你一个键。
python - 为什么这个 qutip 代码不起作用?
我一直在编码以计算以下等式:
其中 rho(t) 是通过求解量子力学方程来计算的。<3| 是第三个元素为 1 的行向量。|3> 是第三个元素为 1 的列向量。
为了求解量子力学方程(对于物理专家,我正在求解 Lindblad 方程),我使用的是qutip 模块。
问题是,每当我进行集成(使用 scipy.integrate.quad 函数)时,我得到一个像 -0.842371561579 这样的数字,这不是我所期望的(我希望得到像 0.99 这样的数字)。另外,我收到一个警告:
我尝试使用伽马常数中的常数值。但是,它并没有改变任何输出。我注意到它与计算 rho(t) 有关,但这就是我能发现的全部。
代码有什么问题?
python - 科学 Python 代码的 IndexError
我一直在研究一些代码,这些代码可以进行集成、一些操作,然后是更多的集成。这是代码(感谢@JRichardSnape!)。基本上这段代码解决了一个矩阵方程,这就是mesolve
它的作用。它需要一个哈密顿量(一个关键的物理矩阵)、一个初始密度矩阵rho0
和一个时间列表来评估 rho(t) 在(我们正在解决的问题)和坍缩算子L1, L2, L3, L4, L5, L6, L7
。然后我提取结果并乘以另外两个数组并绘制它。
我使用 qutip 量子力学模块,因为他们有我需要的求解器:mesolve
. qutip 模块要求将所有矩阵转换为量子对象,这是由 Qobj(x) 完成的。
我在折叠运算符定义之后添加了定义 rho0=L1 的行。发生这种情况时,它会给我一个索引错误:
我试图找出问题所在。在定义 f_t 时出错。问题是当它试图索引数组时(n.data 是一个 complex128 数字的单元素数组)。到底是怎么回事?
linux - Linux Mint 上的 Qutip
我尝试在我的新笔记本电脑上从 Ubuntu 过渡到 Linux Mint。由于我目前正在使用 QuTiP 进行模拟的项目,我希望它也可以在 Linux Mint 上运行。我遵循了 qutip 页面http://qutip.org/docs/3.1.0/installation.html#installation-on-ubuntu-linux的安装路线,就 ubuntu 而言,它就像一个魅力。但对于 Mint,它不起作用。我收到以下错误消息,我在这里搜索但没有得到合理的结果。
ImportError: Building module qutip.cy.spmatfuncs failed: ["CompileError: >command 'x86_64-linux-gnu-gcc' failed with exit status 1\n"]
我不确定该怎么做,因为我肯定安装了 gcc,安装了 intel i7 和 linux 的 x86 架构:)。
如果有人面临同样的问题或知道如何解决问题,我将不胜感激。
问候
编辑:
正如第一条评论所建议的那样,我现在对我安装的 python 有点不确定。包装说明如下
将安装以下软件包:libpython2.7-stdlib:i386、libjack0、libutempter0、libpython-stdlib:i386、xterm、libpython2.7-minimal:i386
(这是安装的包)
但是我有一个 64 位系统,所以我不明白为什么它默认安装在 Linux Mint 17.3 系统上。我也在犹豫,因为其他人警告我要弄乱现有的 python 安装。
python - 开放量子系统建模
很长一段时间以来,我一直致力于使用Lindblad 方程对开放量子系统进行建模。哈密顿量如下:
然而,另外两个矩阵被添加到哈密顿量中。其中一个的所有对角项都等于 -33.3333i,其他所有项都为零。另一个是第三个对角项等于 -0.033333i 的矩阵。
Lindblad 方程是这样的:
其中 L_i 是矩阵(在列表中:[L1,L2,L3,L4,L5,L6,L7])。L_i 的矩阵只是一个 7x7 矩阵,除了 L_(ii)=1 之外全为零。H 是总哈密顿量,是密度矩阵,并且是一个常数,其中 T 是温度,k 是玻尔兹曼常数,并且,其中 h 是普朗克常数。(请注意,伽玛是自然单位)
以下代码求解 Lindblad 方程,从而计算密度矩阵。然后它计算并绘制它与时间的关系:
这被称为站点 3 人口。被称为胸罩,被称为ket。两者都是向量。在这种情况下,请参阅代码以了解它们的定义。
这是代码:
此代码使用称为qutip的 Python 模块。它有一个使用 scipy.integrate.odeint 的内置 Lindblad 方程求解器。
目前,该程序显示以下内容:
但是,站点 3 人口的限制应该是 0。因此,它应该慢慢减少到零。特别是到 t=75 时,应该开始下降。
该代码运行,但没有产生我解释的正确结果。那么现在,为什么它不能产生正确的结果呢?我的代码有问题吗?
我查看了我的代码,每一行看它是否与我正在使用的模型匹配。他们完美匹配。问题必须出在代码中,而不是物理上。
我做了一些调试提示,所有的矩阵和伽玛都是正确的。然而,我仍然怀疑trap
矩阵中的某些东西。我这么认为的原因是因为情节看起来像没有矩阵的系统的动力学trap
,我没有注意到的陷阱矩阵的定义是否有问题?
请注意,代码需要几分钟才能运行。运行代码时请耐心等待!
python - 包安装错误,“‘模块’对象没有属性‘lstrip’”
qutip
我在 Windows 10 中安装软件包时遇到问题。
基于
这似乎是 python3.0+ 的字符串读取,我需要修复包的设置吗?
ipython - QUTIP 输出在 Spyder 的 iPython 控制台中显示为图像
我遇到这个问题已经有一段时间了:在 Spyder 2.3.8 中使用 iPython 控制台,并安装了 QUTIP 3.1.0,我尝试运行一个简单的代码:qt.coherent(3,1),我期望输出是显示为数组。但是,在 Spyder 的 iPython 中这样做会显示一个图像:
由于某些原因,它似乎将数组呈现为图像,这在大多数情况下难以阅读,我更喜欢显示数组,如果我在 Spyder 中使用 Python3 控制台,它实际上可以工作。
我可以知道您是否知道可能是什么原因?
奇怪的是,这只发生在我的 Fedora Scientific 23 和运行 Python3.4 的 Spyder3 上。
另一台运行 Windows 和 WinPython 的计算机没有出现同样的问题,数组显示正确。
感谢您的关注。