问题标签 [quantum-computing]

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.

0 投票
1 回答
68 浏览

linear-algebra - 计算可分离状态的系数

给定一个可分离的 2-qubit 状态

φ = φ 0 ⊗ φ 1

φ i = a i0 |0> + a i1 |1>

因此 φ 可以写为

φ = b 00 |00> + b 01 |01> + b 10 |10> + b 11 |11>

b ij = a 0i a 1j


现在给定一些 b ij,即任意 2 量子位状态

φ = b 00 |00> + b 01 |01> + b 10 |10> + b 11 |11>

令 B = (b ij )。通过施密特分解,有 2x2 矩阵 U、V、Σ,使得

  • U, V 单一

  • Σ 正半定对角线

  • B = U ∘ Σ ∘ V*

设 σ 0 , σ 1为 Σ 的两个对角元素。

当且仅当 σ 0 + σ 1 > 1时,状态 φ = b 00 |00> + b 01 |01> + b 10 |10> + b 11 |11> 是纠缠的。


问题

给定状态 φ = b 00 |00> + b 01 |01> + b 10 |10> + b 11 |11> 及其施密特分解 B = U ∘ Σ ∘ V*,使得 σ 0 + σ 1 ≤ 1 ,即状态是可分离的。这意味着存在 φ i = a i0 |0> + a i1 |1>,因此 φ 可以写为

φ = φ 0 ⊗ φ 1

如何从 B = (b ij ) 即从 U、V、Σ计算 A = (a ij )?

这是相反的

b ij = a 0i a 1j

鉴于 b ij定义了一个可分离的状态。

0 投票
2 回答
4586 浏览

assembly - QASM 中的量子计算模拟

我正在使用IBM 的 Quantum Experience,但遇到了一个小问题。拖放门需要一段时间,而且他们没有 Toffoli 门。所以我必须重新拖入建造 Toffoli 门的大门,这需要一段时间。

作曲家接收了 QASM 文件,所以我尝试查找它的文档,并为其查找某种编辑器(我的想法是我可以更快地键入而不是拖动,并且可以复制和粘贴)。然而,我并没有找到太多。我发现的唯一一件事是对它的一个包的引用,它将代码转换为电路图。代码语法看起来明显不同,我认为这不是我想要的。

所以我有两个问题:

  1. 是否有任何编辑器可以让我以 .qasm 格式放置文件?
  2. 有这方面的文件吗?

谢谢!任何帮助,将不胜感激。

编辑:我也找到了这个这个,但我不确定是否正确。更令人困惑的是,第二个链接看起来好像有两种 QASM,我不确定 IBM 使用的是哪一种。

0 投票
1 回答
404 浏览

quantum-computing - 从量子比特密度矩阵转换为布洛赫向量

0 投票
1 回答
612 浏览

quantum-computing - 从量子位操作转换为轴角布洛赫球体旋转

给定应用于单个 qubit 的操作的 2x2 酉矩阵表示,我如何计算它在Bloch 球上对应的旋转?

例如,Hadamard 矩阵是围绕 X+Z 轴旋转 180 度。我如何从[[1,1],[1,-1]]*sqrt(0.5)(X+Z, 180 deg)

0 投票
1 回答
101 浏览

python - 逻辑错误 - 给出的答案不正确

概括

我正在编写一个程序来模拟 Python 3 中的理想量子计算机。

现在,我正在努力添加两个量子位的功能,我终于让它到了我可以实际运行它的地步(然后我很快就被一个错误击中了)。现在,我已经解决了很多问题,但程序并没有为其中一个量子比特给出正确的答案。

问题

简而言之,该程序没有对第二个量子位执行任何操作,它只是对第一个量子位执行操作,这让我认为程序循环所有内容的方式存在问题,但我一直盯着它看一会儿,也找不到什么不对劲的地方。

运行 MWE,输出应该是

输出应该具有与第一个状态相同的第二个量子位的结果和概率。另请注意,对于两个量子位,它们的原始状态是[0 1]- 换句话说,第二个量子位的状态根本没有改变。

MWE

完整代码

主文件.py:

函数.py:

如果您决定运行此处给出的完整代码来重现问题,请输入 2(回答多少个量子位的问题)、0 或 1(请注意,这会将量子位设置为 [0,1] 和 [1, 0] 分别;这里的任何一个答案都可以)然后是 Hadamard,X,或者你有什么,然后是 y,然后是 Hadamard,X,或者其他,然后是 y。此时它应该输出结果。我建议在两者上都使用 Hadamard 门来查看问题。这仅在您运行完整程序时适用;否则你不需要输入任何东西。

注意:我知道有很多变量和其他疯狂,所以如果有人想要描述变量的用途,我很乐意提供。我试图使变量相当不言自明。

0 投票
2 回答
4602 浏览

simulation - 使用 shor 算法,我需要多少个量子比特来分解 15?

据此我知道我们需要 4^n 位来模拟 n 量子位量子计算机。我想知道是否可以在经典计算机上将 shor 的算法模拟到 15 倍?使用 shor 算法分解 15 需要多少个量子比特?

0 投票
1 回答
406 浏览

cryptography - 我们可以使用量子算法破解 RSA/AES 加密文件吗?如果是,我们该怎么做?

RSA 和 AES-256 是加密“绝密”文档的定义标准。是否可以使用 shor 和 grover 等量子算法进行攻击?

0 投票
0 回答
76 浏览

matlab - 前向传播单元阵列或 3D 矩阵时的 Matlab 内存泄漏

当有大量矩阵时,我对 Matlab 处理前向乘法矩阵的方式有疑问。

作为一个简化的例子,我想做 x(ii + 1) = y(ii) * x(ii)。但是,当矩阵的维度很大并且数量很多时,内存需求会呈指数增长,超出了应有的范围。

这是一些示例代码,根据 matlab 内存分析器,它使用 1e-07TB 的 RAM,虽然不正确,但此循环通常占用 256GB 的 RAM。

要检查性能运行:

0 投票
1 回答
296 浏览

python - 如何在 Python 中直观地表示多量子比特系统?

我试图直观地显示一个 3 量子位系统在对其执行某个算法/门之前和之后的比较。

例如在 Hadamard 门之前和之后的 3 个量子比特系统

Hadamard 3-Qubit 矩阵

这可以用 ket 表示法写成:

我最初考虑使用 Bloch 球体,但很快意识到 Bloch 球体仅适用于单个量子比特系统。

我遇到了 Python 的 Quantum Toolbox、QuTiP 或特别是这个关于可视化的页面(http://qutip.org/docs/2.2.0/guide/guide-visualization.html),但我很困惑这是如何应用的我想要实现什么,或者这些可视化揭示了系统的什么?

在这个例子中,我的问题是,在应用 Hadamard 门之前和之后,可视化或展示量子系统发生的变化的最佳方法是什么?

在量子计算/量子位方面,我仍然是初学者,所以欢迎任何建议!

0 投票
0 回答
2389 浏览

python - Python中的分步傅里叶方法

抱歉,这篇文章很长,但我正在尝试使用分步法在 python 中模拟二维薛定谔方程。

这个方程的一维问题已经在这篇文章中解释过: https ://jakevdp.github.io/blog/2012/09/05/quantum-python/

我尝试添加另一个维度并修改了上述帖子之后的运算符,但我很困惑如何绘制 psi 函数,因为我添加了另一个维度,这是我通过添加额外维度修改的类方程,我现在还修改了辅助函数我添加了额外的维度:

一维绘图和动画的代码如下: