我对量子计算很好奇,想看看到底是怎么回事。我学到了一些基础知识。我意识到叠加类似于有偏的随机性,并且纠缠可以用与两个量子比特相关的公式来表示:
correlated ? (bQubit = aQubit = (aCollapse ? collapse(aPercentOne) : collapse(bPercentOne))) : (correlated = 0); //qubits entangled
量子位类似于位,但同时可以是 |0> 的百分比和 |1> 的百分比(直到总共 100%)。如果它们被纠缠在一起,首先崩溃的那个会“拖动”另一个到相同或相反的状态,具体取决于它们的相关性。我模糊地使用了相关和纠缠这两个词。
对于模拟叠加,我们需要有偏差的随机性,为了创建真正的随机性,我们需要基于模拟引脚 A0 或任何其他引脚的“种子”。
randomSeed(analogRead(A0));
如果我们创建了一个开始和结束不同的 0 和 200 的随机性,我们就会对量子比特的行为产生偏见。这提供了与真实重叠非常相似的重叠。
//Ex. percent of be a one: 25%
bool collapse(int percentOne) {
int percentZero = 100 - percentOne;
return random(100 - percentZero, 100 + percentOne) > 100 ? 1 : 0;
}
为了表示量子位,您可以使用 LED。
加载第一个程序 qubit_entangled.ino 后,打开串行监视器并回答提出的问题很重要:
之前,您可以安装电路:
对于此代码示例,无需使用按钮和第三个 LED。
第二个代码的作用是对两对三个量子位进行操作。虽然我们不使用量子计算的指令,但我们使用 AND 和 OR 操作,在量子计算中的其他类似操作中具有等价性。
该固件需要三个 LED-Qubits 和按钮来停止/恢复程序
对于每个固件,我们可以看到量子位的行为取决于每个固件的 |1> 和 |0> 的百分比。LED 还提供了更好的理解。串行监视器有帮助。而且我认为该装置仅使用 Arduino 就可以很好地模拟量子比特。
在所有情况下,我都没有假装准确但有创意。
在我看来,我们可以使用操纵杆来实时更改两个量子比特的 |0> 和 |1> 的百分比,因此可以快速了解最终崩溃的影响。一个操纵杆不会超过两个电位器,一个专用于每个量子位。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !