问题标签 [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.
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定义了一个可分离的状态。
assembly - QASM 中的量子计算模拟
我正在使用IBM 的 Quantum Experience,但遇到了一个小问题。拖放门需要一段时间,而且他们没有 Toffoli 门。所以我必须重新拖入建造 Toffoli 门的大门,这需要一段时间。
作曲家接收了 QASM 文件,所以我尝试查找它的文档,并为其查找某种编辑器(我的想法是我可以更快地键入而不是拖动,并且可以复制和粘贴)。然而,我并没有找到太多。我发现的唯一一件事是对它的一个包的引用,它将代码转换为电路图。代码语法看起来明显不同,我认为这不是我想要的。
所以我有两个问题:
- 是否有任何编辑器可以让我以 .qasm 格式放置文件?
- 有这方面的文件吗?
谢谢!任何帮助,将不胜感激。
编辑:我也找到了这个和这个,但我不确定是否正确。更令人困惑的是,第二个链接看起来好像有两种 QASM,我不确定 IBM 使用的是哪一种。
quantum-computing - 从量子位操作转换为轴角布洛赫球体旋转
给定应用于单个 qubit 的操作的 2x2 酉矩阵表示,我如何计算它在Bloch 球上对应的旋转?
例如,Hadamard 矩阵是围绕 X+Z 轴旋转 180 度。我如何从[[1,1],[1,-1]]*sqrt(0.5)
到(X+Z, 180 deg)
?
python - 逻辑错误 - 给出的答案不正确
概括
我正在编写一个程序来模拟 Python 3 中的理想量子计算机。
现在,我正在努力添加两个量子位的功能,我终于让它到了我可以实际运行它的地步(然后我很快就被一个错误击中了)。现在,我已经解决了很多问题,但程序并没有为其中一个量子比特给出正确的答案。
问题
简而言之,该程序没有对第二个量子位执行任何操作,它只是对第一个量子位执行操作,这让我认为程序循环所有内容的方式存在问题,但我一直盯着它看一会儿,也找不到什么不对劲的地方。
运行 MWE,输出应该是
输出应该具有与第一个状态相同的第二个量子位的结果和概率。另请注意,对于两个量子位,它们的原始状态是[0 1]
- 换句话说,第二个量子位的状态根本没有改变。
MWE
完整代码
主文件.py:
函数.py:
如果您决定运行此处给出的完整代码来重现问题,请输入 2(回答多少个量子位的问题)、0 或 1(请注意,这会将量子位设置为 [0,1] 和 [1, 0] 分别;这里的任何一个答案都可以)然后是 Hadamard,X,或者你有什么,然后是 y,然后是 Hadamard,X,或者其他,然后是 y。此时它应该输出结果。我建议在两者上都使用 Hadamard 门来查看问题。这仅在您运行完整程序时适用;否则你不需要输入任何东西。
注意:我知道有很多变量和其他疯狂,所以如果有人想要描述变量的用途,我很乐意提供。我试图使变量相当不言自明。
simulation - 使用 shor 算法,我需要多少个量子比特来分解 15?
据此,我知道我们需要 4^n 位来模拟 n 量子位量子计算机。我想知道是否可以在经典计算机上将 shor 的算法模拟到 15 倍?使用 shor 算法分解 15 需要多少个量子比特?
cryptography - 我们可以使用量子算法破解 RSA/AES 加密文件吗?如果是,我们该怎么做?
RSA 和 AES-256 是加密“绝密”文档的定义标准。是否可以使用 shor 和 grover 等量子算法进行攻击?
matlab - 前向传播单元阵列或 3D 矩阵时的 Matlab 内存泄漏
当有大量矩阵时,我对 Matlab 处理前向乘法矩阵的方式有疑问。
作为一个简化的例子,我想做 x(ii + 1) = y(ii) * x(ii)。但是,当矩阵的维度很大并且数量很多时,内存需求会呈指数增长,超出了应有的范围。
这是一些示例代码,根据 matlab 内存分析器,它使用 1e-07TB 的 RAM,虽然不正确,但此循环通常占用 256GB 的 RAM。
要检查性能运行:
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 门之前和之后,可视化或展示量子系统发生的变化的最佳方法是什么?
在量子计算/量子位方面,我仍然是初学者,所以欢迎任何建议!
python - Python中的分步傅里叶方法
抱歉,这篇文章很长,但我正在尝试使用分步法在 python 中模拟二维薛定谔方程。
这个方程的一维问题已经在这篇文章中解释过: https ://jakevdp.github.io/blog/2012/09/05/quantum-python/
我尝试添加另一个维度并修改了上述帖子之后的运算符,但我很困惑如何绘制 psi 函数,因为我添加了另一个维度,这是我通过添加额外维度修改的类方程,我现在还修改了辅助函数我添加了额外的维度:
一维绘图和动画的代码如下: