标签: quantum-computing

量子比特如何工作以及它们的优缺点是什么?它们对编程语言有什么影响?

使用量子比比普通比特更能做些什么,它们如何工作?我前一段时间了解他们,似乎量子比特可以同时不只是0或1,而且还0和1存储.我真的不明白它们是如何工作的.有人可以向我解释一下吗?

他们有什么利弊,他们将对像C编程语言有什么影响之后,量子计算机实际上是谁发明的?

当一点(也是一个量子)可以同时获取多个值时,我们如何管理内存?当超过1和0时,我们如何确定某些事物是真还是假?

memory quantum-computing

6
推荐指数
2
解决办法
3477
查看次数

用复矩阵作为初始值在python中求解ode

我有一个冯诺依曼方程,它看起来像: dr/dt = - i [H, r],其中 r 和 H 是复数的方阵,我需要使用 python 脚本找到 r(t) 。

是否有任何标准仪器可以整合这些方程?

当我用向量作为初始值求解另一个方程时,例如 Schrodinger equation: dy/dt = - i H y,我使用了 scipy.integrate.ode 函数('zvode'),但尝试对冯诺依曼使用相同的函数方程给了我以下错误:

**scipy/integrate/_ode.py:869: UserWarning: zvode: Illegal input detected. (See printed message.)
ZVODE--  ZWORK length needed, LENZW (=I1), exceeds LZW (=I2)
self.messages.get(istate, 'Unexpected istate=%s' % istate))
  In above message,  I1 =        72   I2 =        24**
Run Code Online (Sandbox Code Playgroud)

这是代码:

def integrate(r, t0, t1, dt):
  e = linspace(t0, t1, (t1 - t0) / dt + 10)
  g = …
Run Code Online (Sandbox Code Playgroud)

python numpy quantum-computing scipy ode

6
推荐指数
1
解决办法
2604
查看次数

可以用简单的代码示例解释量子位和位之间的区别吗?

我知道你可以玩量子计算的唯一地方是谷歌量子游乐场ibm的量子体验.虽然第一个使用qscript和第二个qasm语言(易于学习),但它们的使用仍然与常规编程(除了少数特定功能)没有太大差别.这是维基百科的解释:

量子比特与经典比特有一些相似之处,但总体上非常不同.测量量子位有两种可能的结果 - 通常是0和1,就像一点.不同之处在于,当比特的状态为0或1时,量子比特的状态也可以是两者的叠加.可以在一个量子比特中完全编码一个比特.然而,量子位可以使用超密码编码来保存更多信息,例如最多两位.

对于n个分量的系统,在经典物理中对其状态的完整描述仅需要n位,而在量子物理学中它需要2 ^ n - 1个复数.

哪个或多或少清楚.但是如何通过代码示例显示?

bit quantum-computing qscript qubit

6
推荐指数
1
解决办法
249
查看次数

无法使用Microsoft Quantum Development Kit创建新的Q#项目

刚刚安装了Microsoft Quantum Development Kit,创建一个新的Q#项目失败,并显示一条晦涩的消息:

参数不能为null:参数名称:node.

(我正在使用Visual Studio 2017社区的全新安装,并应用了最新的更新.)

屏幕截图说明如何重现问题: 在此输入图像描述


并产生错误消息:

在此输入图像描述

有谁知道导致此错误的原因,以及如何解决?

quantum-computing visual-studio-2017 q#

6
推荐指数
1
解决办法
463
查看次数

Quantum Program The name 'BellTest' does not exist in the current context

This is my first Q# program and i'm following this getting started link.https://docs.microsoft.com/en-us/quantum/quantum-writeaquantumprogram?view=qsharp-preview

Error is

The name 'BellTest' does not exist in the current context but its defined in the Bell.cs

I followed the steps and when building its having errors. I'm not sure how to import the operations from .qs file to driver c# file as this error looks like it can't find that operation.

Any help is really appreciated

Here is the code

Driver.cs

using Microsoft.Quantum.Simulation.Core;
using …
Run Code Online (Sandbox Code Playgroud)

c# quantum-computing q#

6
推荐指数
1
解决办法
668
查看次数

我可以在Q#中使用lambda对量子位进行操作吗?

我在Q#中有一个用例,其中有一个量子位寄存器qs,需要将CNOT除第一个量子位之外的每个量子位都应用门,并使用第一个作为控制。使用for循环,我可以做到以下几点:

for (i in 1..Length(qs)-1) {
    CNOT(qs[0], qs[i]);
}
Run Code Online (Sandbox Code Playgroud)

现在,我想给它一个更实用的味道,并尝试做类似的事情:

ApplyToEach(q => CNOT(qs[0], q), qs[1..Length(qs)-1]);
Run Code Online (Sandbox Code Playgroud)

Q#编译器不接受这样的表达式,通知我它遇到了意外的代码片段。就我的口味而言,这还不太丰富。一些文档声称Q#支持匿名功能a'la C#,因此是上面的尝试。有人可以指出我在Q#中正确使用lambda还是消除我的错误信念?

c# anonymous-function quantum-computing q#

6
推荐指数
1
解决办法
89
查看次数

如何从 qiskit 中的 np.array 创建单一门?

大家好:Cirq 提供了一种从数组创建单一门的方法。我尝试在 Qiskit 中做同样的事情,但未能完全成功。这是一个示例代码,其中包含到目前为止我可以组合的内容。另外,有没有办法应用从 q[0] 到 q[1] 的单一受控操作?或者为此目的创建一个特定的标记门以在电路中使用?如果是这样,怎么办?多谢!

from qiskit.extensions import *
U2x2 = np.array([[0.998762, -0.049745], [-0.049745, -0.998762]])
# Still not sure how to use this, though it compiles
gate2x2 = UnitaryGate(U2x2)

# The best I could do so far was this:
# Create the quantum circuit
q = QuantumRegister(2)
c = ClassicalRegister(2)
qc = QuantumCircuit(q, c)

qc.unitary(U2x2, range(1))
qc.measure(q[0], c[0])
Run Code Online (Sandbox Code Playgroud)

python quantum-computing qiskit

6
推荐指数
1
解决办法
4223
查看次数

用于量子电路的 Qiskit 转译器

Qiskit 中有该transpile()功能(请参阅文档)。我对转译器的最好理解是一种将一组门操作转换为另一组门操作的方法,其目的是在不同的后端运行算法(因为量子位连接性,即架构的几何形状,从一台量子计算机到另一台)。有多种方法可以通过减少冗余和根据等效门重写事物来优化电路,例如将哈达玛门共轭的 CNOT 更改为 CZ 以减少门数。如果硬件后端没有本机 CZ,人们可能还想做完全相反的事情,从 CZ 转到由 Hadamards 共轭的 CNOT。一般来说,这种为了优化某些固定硬件后端的任意电路而进行的转译是一个 QMA 完全问题(例如,参见此处......也许有人使用LEAN来完成类似的事情?)。有时也使用变分方法来近似最佳电路,但我离题了。

一个略有不同但相关的问题:使用Nielsen & Chuang附录 3 中的 Kitaev-Solovay 定理以及 4.5 中的材料,我们知道我们总是可以“有效地”用通用门集逼近任意酉门(这在书,在这里不一定重要)。我认为效率如何是一个悬而未决的问题,但至少有一些上限和下限。

鉴于此,人们期望 Qiskittranspile()函数能够近似单一门并将门集重构为最佳(最小化)门集以优化电路,但可能会在具有许多非标准门的大型电路中出现问题。但是,即使对于简单的示例,我也无法使其正常工作。例如,三个量子位上的置换矩阵似乎是一个合理的酉近似(有些甚至可以轻松地手动转换为交换门和 X 门)。但 Qiskit 似乎不喜欢这样做,我需要一些帮助来理解原因。举个例子,我们可以在 Qiskit 中定义一个酉(置换)算子,并将其变成量子电路中的门,如下所示:

from qiskit import *
from qiskit.quantum_info import Operator
from qiskit.compiler import transpile
%matplotlib inline

permute = Operator([[0, 0, 1, 0, 0, 0, 0, 0],
                    [1, 0, 0, 0, 0, 0, 0, 0],
                    [0, 1, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python quantum-computing transpiler qiskit

6
推荐指数
1
解决办法
5982
查看次数

IBM Quantum Platform 上是否有调用作业的估计等待时间的函数?

我试图编写一个脚本,使用 Qiskit 获取有关 IBM Quantum Platform 上作业的当前信息。

我设法使用 JobID 调用当前状态,但似乎没有函数或 API 调用可以显示作业的当前估计等待时间。

此外,虽然我设法收集有关作业当前状态的信息(例如已排队),但我得到的输出为“无”,也许我们也可以设法解决此问题。

有人可以帮我吗?

我尝试包含一个函数来调用估计等待时间,但似乎没有 API 调用。

quantum-computing qiskit

5
推荐指数
1
解决办法
42
查看次数

如何找到并选择 qbraid 中可用的量子后端?

我正在使用 qbraid 的 qiskit 教程,这是一个基本的 hello world。我发现可以使用其他量子后端而不是 qiskit,但用户界面中没有明确的路径。

是否有命令行或直接方式来搜索其他后端的 API?

quantum-computing qiskit qbraid

5
推荐指数
1
解决办法
37
查看次数