量子计算机怎么编程,量子计算机编程(一)——QPU编程

本文介绍了《Programming Quantum Computers》一书,讲解如何在量子计算机上编程,强调其作为协处理器的角色。文章通过电路图和代码示例解释了量子比特的操作,包括量子态、H门、相位操作、COPY操作及其量子传输的安全性。还讨论了多量子比特的纠缠和受控操作,如CNOT和CPHASE门,并展示了如何利用受控操作实现量子比特的交换和远程操控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天要给大家介绍的是这本书《Programming Quantum Computers —— Essential Algorithms and Code Samples》,主要讲如何在量子计算机上编程,又示例的代码可以跑 https://oreilly-qc.github.io./ ,这本书的理解方向是纯粹计算机的,连矩阵都很少涉及,一个量子计算机就像是协处理器一样,很像我们现在的GPU。

这本书一共分为三个部分,我也将分成三篇文章来写。

单量子比特

这本书中对于量子的表达方式如下circle notation:

e632caa2c3b9fb53c3eb40017dc9b4fd.png

aeb5f68f12dc0e2f4d3e7df1a1d5669a.png

蓝色圈的面积就是这个量子态测量后是这个状态的概率,中间的蓝色短线代表他们的相位,因为全局相位也观察不出来,所以一般$|0\rangle$就是朝上的。对于一个量子比特来说,重要的也就这两个,magnitude和relative phase(可能因为重要的是概率大小,所以他其实没有提amplitude其实是一个复数)。

b7d2ecab0202a06f3dfff62f6c2e33f5.png

这两个态实际上是等价的。

电路图呢,一般长这样

884d0203087f11fad47d8813d6af32ce.png

这个电路图对应的代码如下:(这个例子都可以在上面那个网站上跑起来)

qc.reset(1); // allocate one qubit

qc.write(0); // write the value zero

qc.had(); // place it into superposition of 0 and 1

var result = qc.read(); // read the result as a digital bit

第一步就是申请一个qubit,就像你要给变量分配空间一样。

第二步写0,其实写0很容易,你可以直接测量,要么0,要么1,如果结果是1的话,再做一个not操作就好;当然,你要是嫌麻烦,对于一个qubit,长时间的静置他,他也会变成0,毕竟还是基态比较稳定。

第三步就是进行一个H门的操作

第四步读,其实就是测量了

常见的作用于单量子比特操作的表达方式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值