理解门与电路
1. 软件栈
软件运行在硬件之上,我们利用软硬件构建应用程序并解决问题。无论是在笔记本电脑上本地工作,还是在云端使用计算资源,这个道理都是相通的。软件并非单一整体,它始于贴近硬件的底层,在此基础上,我们实现抽象和更高级的功能,以便更轻松地进行编码和开发解决方案。
在硬件和软件层中都存在门和电路,它们是最基本的操作,我们将它们组合成有用的流程。汇编语言使我们能够将门编码成自定义电路,在经典计算中,它让我们可以控制底层硬件,访问和使用系统内存。例如,OpenQASM3 就是由 IBM 等开发的量子计算汇编语言。
在经典计算汇编语言之上,程序员和研究人员创造了数十种高级编程语言,如 Python、C、C++、Swift、Java、JavaScript、PHP、Go、Rust 和 R 等。对于量子计算,我们是开发新语言,还是利用现有语言呢?虽然编写新语言可能很有趣,但支持它们并让数千名程序员学习一种新的编码方式就没那么有趣了。在本书中,我们采用了 qiskit,它让你可以运用从 Python 中学到的知识,并使用数百位量子专家开发的开源代码。
有了这样的软硬件基础,我们就可以设计和实现算法。领域专家模型开发者使用算法为解决方案和应用程序创建计算构建块,进而为消费者构建应用程序,为行业用例构建工作流程。经典软件开发比量子软件开发领先数十年。接下来,我们将展示如何使用逻辑门和电路对加法等高级函数进行编码。在 Python 和其他语言中,加法相对于其他语言特性和数千个库中的代码来说是底层操作,但通过它,我们可以类似地研究量子门和电路,迈向算法的探索。
2. 布尔运算和位逻辑门
布尔值和位之间存在直接对应关系,将 Tr
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



