首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的计算机上实现一组量子位?

如何在我的计算机上实现一组量子位?
EN

Stack Overflow用户
提问于 2012-03-24 04:15:51
回答 4查看 485关注 0票数 1

我想熟悉量子计算的基础知识。

熟悉它的一个好方法是编写非常基本的虚拟量子计算机机。据我所知,实现单个量子比特的努力不能简单地复制到实现两个量子比特系统。但我也不知道如何实现一个量子比特。

如何实现量子比特?如何实现一组量子比特?

EN

回答 4

Stack Overflow用户

发布于 2015-05-07 05:30:25

示例代码

如果你想从一些简单但有效的东西开始,你可以使用这个basic quantum circuit simulator on jsfiddle (大约2k行,但其中大部分是UI的东西,绘图和点击,以及定义复数和矩阵的数学东西)。

状态

量子计算机的状态是一组复杂的权重,称为amplitudes。每个可能的经典状态都有一个振幅。在量子比特的情况下,经典状态只是正常比特可以处于的各种状态。

例如,如果您有三个位,则需要000001010011100101110111状态的复数权重。

代码语言:javascript
复制
var threeQubitState = new Complex[8];

振幅必须满足一个约束:如果将它们的平方振幅相加,结果是1。经典状态对应于一个振幅的振幅为1,而其他的振幅都为0:

代码语言:javascript
复制
threeQubitState[3] = 1; // the system is 100% in the 011 state

运营

对量子态的操作允许您通过在经典状态之间流动来重新分配振幅,但您选择的流在所有情况下都必须保留平方幅度加到1的属性。从技术上讲,该操作必须对应于某个unitary matrix

代码语言:javascript
复制
var myOperation = state => new[] {
    (state[1] + state[0])/sqrt(2),
    (state[1] - state[0])/sqrt(2),
    state[2],
    state[3],
    state[4],
    state[5],
    state[6],
    state[7]
};
var myNewState = myOperation(threeQubitState);

..。这些都是最基本的。状态是具有单位2范数的复数的列表,运算是么正矩阵,测量状态的概率就是它的平方振幅。

你可能需要考虑的其他事情:

  • 您希望包括哪些类型的运算?
  • 1量子位运算是2x2矩阵,3量子位运算是8x8矩阵。当应用于处于3量子位状态的单个量子位时,如何将1量子位运算转换为8x8矩阵?(使用Kronecker Product.)
  • What类型的技巧可以用来加速模拟?例如,如果只有几个状态是非零的,或者如果量子比特不是纠缠的,那么就不需要做全矩阵multiplication.
  • How用户告诉模拟要做什么?您如何表示用户正在发生的事情?有一大堆数字在流动--
票数 1
EN

Stack Overflow用户

发布于 2012-03-24 04:38:12

我实际上不知道答案,但从this article开始阅读量子比特是一个有趣的地方。它没有详细描述纠缠量子比特是如何工作的,但它暗示了其中涉及的复杂性:

如果这就是只有两个量子比特就能让事情变得多么复杂,那么对于3、4或100个量子比特,它会变得多复杂呢?

?结果表明,只有当绘制为(4^N-1)维空间中的一个点时,N量子比特量子计算机的状态才能完全定义。这意味着我们需要4^N个好的老式经典数字来模拟它。

请注意,这是最大的空间复杂度,例如,对于15个量子比特,这大约是10亿个数字(2^30=4^15)。它没有提到模拟的时间复杂性。

票数 0
EN

Stack Overflow用户

发布于 2013-07-11 06:23:16

@Qwertie引用的文章是一个非常好的介绍。如果您想在您的计算机上实现这些,您可以使用libquantum模拟器,它在C库中实现了复杂的量子操作。您可以查看this example,了解使用代码的过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9845959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档