标签: quantum-computing

有兴趣可能操作/使用量子计算机吗?

我经历了一个对量子计算机如何工作以及如果它们变得实用可能对它们有益的事情感兴趣的时期.我知道他们正在谈论代码破解.我感兴趣的是通过基本上尝试所有可能的输入(并行)并查看是否达到任何错误状态来使用它们来验证软件.

我知道这是一个蓝天问题,但我想知道其他人是否对量子计算机感兴趣,它们如何工作,以及它们对什么有用.

补充:为了好玩,让我扔掉一个迷你教程:

假设您有N位内存可供使用.假设您可以使用输入数据加载这些位(或其中一些位).然后假设你可以对它们进行有限的操作序列(不使用任何额外的内存),将答案留在其中.

要使用量子计算机,只需要确保整个计算是可逆的,通过保留一些位来记录您所采用的分支,这样就可以撤消它们.如果这样做,那么所有操作都可以写成N位上的简单酉矩阵变换.(酉变换是N维坐标系中的纯旋转.)因此,执行计算包括在位向量上应用一系列纯旋转.

如果你这样做,那么如果N位向量在量子计算机中,它可以被初始化为一个状态,其中所有2 ^ N(或更少)可能的输入在"并行宇宙"中同时叠加.然后,如果你进行计算,它会同时完成所有这些操作.

现在你需要做的就是看看其中一个输入是否给你一个特定的答案就是让它运行到一个特定的状态.如果你停下来并检查状态,它的作用就是随机选择一个宇宙并扔掉所有其余的宇宙.因此,Grover算法允许您执行的操作是,在不停止的情况下,强调具有答案状态的Universe的概率.然后向前运行,然后向后运行,然后向前运行,依此类推,进行多次迭代,直到答案范围具有非常高的概率.然后,如果你检查它,你很有可能看到你想要的答案.

嗯...

computer-science quantum-computing

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

3 qbits的量子傅立叶变换代码

背景

我遇到了一个Javascript量子模拟器,并试图编写代码(即量子电路)来实现3 qbit量子傅立叶变换.

我能得到的最接近的如下所示: QFT结果

这是基于Nielsen和Chuang的"量子计算和量子信息"中关于QFT的章节.(电路末端的条件NOT门用于将输出位交换为正确的顺序 - QFT反转位的顺序.)

我也试过一个基于维基百科QFT文章的电路,但没有接近答案.

任何人都可以帮助纠正我的算法来计算QFT吗?

(我认为这个bug最有可能出现在我的电路中,但我想也可能是底层Javascript实现中存在错误?)

javascript algorithm fft quantum-computing

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

为什么量子计算中量子位的价值必须保密?

当我深入研究所有可用文献时,我一遍又一遍地阅读,在量子计算中,最小的价值单位——量子比特——必须保持“秘密”或未知,直到它被测量为止。在 StackOverflow 中,我什至读到,“为了让一个量子位作为一个整体工作,它的状态必须对物理宇宙的其他部分保密,而不仅仅是对你保密。它必须对一缕空气、附近的原子等。另一方面,为了让量子位对量子计算机有用,必须有一种方法来操纵它们,同时保持它们的状态是秘密。否则它的量子随机性或量子相干性就会被破坏”(来源:有没有人知道什么是“量子计算”吗?,由Greg Kuperberg回答)。量子位的保密性的概念超出了我迄今为止所读到的任何内容,但是,为什么会这样……我的意思是,是什么解释并证明了这种奇怪的属性——量子位的这种保密性或不可测量性?希望这个问题的答案将帮助我开始从经典计算机器进行心理转变。

quantum-computing

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

Microsoft Liquid:如何显示当前的量子态

我在Microsoft Liquid(F#)中编写量子算法.对于调试,看看当前的量子态是多么好.

我可以用:

for q in qs do show "q[%d]=%s" q.Id (q.ToString())
Run Code Online (Sandbox Code Playgroud)

其中qs是我的量子比特列表,但这仅在状态不纠缠时才有效.
但是,如果纠缠在一起,有没有办法只显示当前的量子态,例如:

ket = 1/sqrt(2)*[|00>+|11>]
Run Code Online (Sandbox Code Playgroud)

algorithm f# quantum-computing liquid qubit

5
推荐指数
0
解决办法
164
查看次数

Microsoft Q#.Net框架兼容吗?

Q#是Microsoft专门用于执行量子计算的一种有趣的新语言。

是否可以编译为可以从c#或任何其他.net语言.Net Framework和/或.Net Core Framework(可能是.Net标准)引用的.net库?

如果不是,那么如何将其合并到经典应用程序中?

如果可以,那么量子计算机将是什么样?它是否允许运行完整的.net架构以及Quantum作为协处理器(某种程度上类似于GPU编程),否则它将看起来如何?

.net c# quantum-computing q#

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

如何在Q#中实现Grover扩散算子?

如标题所述,如何在Q#中实现Grover扩散算子?我知道它的定义是任意数量的qubit的统一状态2 ?s|s? - I在哪里|s?。这可以进一步用夹在一对H门之间的Z0(称为U0)门来定义。我无法在量子图元和佳能文档中找到任何以可能的名称(例如Grover,diff等)开头的函数。

我不想使用该函数,AmpAmpByOracle因为它是非常高级的实现,并且不清楚我的理解。我想实现一个函数,它采用一个oracle Uf(我不知道是我想知道的)和它所需要的qubit数(N),并通过简单遵循Grover's Algorithm |中给出的电路来执行Grover算法。Wikipedia并通过在r = rox(2 ^(N / 2))迭代结束时测量所有N个量子位来测量所需状态。

quantum-computing q#

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

macOS上的Quantum Development Kit中的Q#编译器错误

我有一个新的Microsoft Quantum Development Kit的简单Q#示例的编译错误:

namespace Quantum.Bell
{
    open Microsoft.Quantum.Primitive;
    open Microsoft.Quantum.Canon;

    operation Set (desired: Result, q1: Qubit) : Unit
    {
        let current = M(q1);
        if (desired != current)
        {
            X(q1);
        }
    }

    operation BellTest (count : Int, initial: Result) : (Int, Int)
    {
        mutable numOnes = 0;
        using (qubit = Qubit())
        {
            for (test in 1..count)
            {
                Set (initial, qubit);

                let res = M (qubit);

                // Count the number of ones we saw:
                if (res == One)
                {
                    set numOnes …
Run Code Online (Sandbox Code Playgroud)

.net quantum-computing q#

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

通过投影测量计算二量子位系统中的 CHSH 不等式违规

假设两个量子位系统处于状态 |\xce\xa6\xe2\x9f\xa9 = (|00\xe2\x9f\xa9 + |11\xe2\x9f\xa9 )/ \xe2\x88\x9a2。考虑结果为 \xc2\xb11 的投影测量。计算 CHSH 不等式的最大违反并找到可导致最大违反的测量设置。

\n

我是量子计算的新手。我不知道如何解决这个问题。

\n

quantum-computing

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

如何在Qristal SDK中定义电路运行的次数?

我已经开始使用 Qristal SDK 创建量子应用程序。我已经让它在 Docker 镜像中运行,并通过使用qpp后端和一种 hello world 计数练习成功打印了结果(尝试查看它实际上运行了算法并返回了量子查询中预期的结果)。

我遇到的问题是如何让它大规模运行。我是否需要随着时间的推移不断运行应用程序(作为量子电路),或者我可以扩展所模拟的量子位以实现更大或更准确的结果吗?

这是我尝试过的电路。

my_sim.instring = '''
__qpu__ void QUANTUMPROGRAM(qreg q)
{
  OPENQASM 2.0;
  include "qelib1.inc";
  creg c[2];
  h q[0];
  cx q[0], q[1];
  measure q[1] -> c[1];
  measure q[0] -> c[0];
}
'''

Run Code Online (Sandbox Code Playgroud)

quantum-computing qristal-sdk

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

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

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

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

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

有人可以帮我吗?

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

quantum-computing qiskit

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