量子线路

量子线路,即对量子比特进行操作的线路,它由量子逻辑门组成。
不同于传统电路是用金属线所连接以传递电压讯号或电流讯号。在量子线路中,线路是由时间所连接,亦即量子比特的状态随着时间自然演化,过程中按照哈密顿运算符指示,一直到遇上逻辑门而被操作。
由于组成量子线路的每一个量子逻辑门都是一个酉矩阵,所以整个量子线路也是一个大的酉矩阵。

量子算法线路图

在目前的量子计算理论研究中,各种量子算法常用量子线路表示,比如下方列出的量子算法中的HHL算法量子线路图。

接口介绍

在QPanda 2中,QCircuit类是一个仅装载量子逻辑门的容器类型,它也是QNode中的一种,初始化一个QCircuit对象有以下两种:
C++风格
QCircuit cir = QCircuit();
C语言风格
QCircuit cir = CreateEmptyCircuit();
你可以通过如下方式向QCircuit尾部填充节点。
QCircuit << QNode;
或者
QCircuit.pushBackNode(QNode);
QNode的类型有QGate、QPorg、QIf、Measure等等,但对于QCircuit而言,仅能插入QGate类型和QCircuit。所以QCircuit类是一个QGate对象和另一些QCircuit对象的集合。
同时,你也可对目标线路施加转置共轭和受控操作。QCircuit类型有两个成员函数可以做转置共轭操作:dagger、setDagger。
setDagger的作用是根据输入参数更新当前量子线路的dagger标记,在计算时后端会根据dagger判断当前量子逻辑门是否需要执行转置共轭操作。举个例子:
QCircuit cir;
cir.setDagger(true);
该函数需要一个布尔类型参数,用来设置当前逻辑门是否需要转置共轭操作。
dagger的作用是复制一份当前的量子线路,并更新复制量子线路的dagger标记。举个例子:
QCircuit cir;
QCircuit cir_dagger = cir.dagger();
除了转置共轭操作,你也可以为量子线路添加控制比特。QCircuit类型有两个成员函数用于添加控制比特:control、setControl。
setControl的作用是给当前的量子线路添加控制比特。例如:
QCircuit cir;
cir.setControl(qvec);
control的作用是复制当前的量子线路,并给复制的量子线路添加控制比特。例如:
QCircuit cir;
QCircuit cir_control = cir.control(qvec);
上述都需要接收一个参数,参数类型为QVec,QVec是qubit的vector容器类型。

注解
向QCircuit中插入QPorg,QIf,Measure不会报错,但运行过程中可能会产生预料之外的错误。
一个构建好的QCircuit不能直接参与量子计算与模拟,需要进一步构建成QProg类型。

实例

以下实例,主要展现了QCircuit类型接口的使用方式。
1、初始化虚拟机环境:使用init接口初始化一个量子虚拟机,向量子虚拟机申请4个量子比特和4个经典寄存器;
2、构建量子线路:调用CreateEmptyCircuit构建一个量子线路circuit,通过 << 操作符把量子逻辑门插入到circuit中,设置circuit的转置共轭操作为true。
3、构建量子程序:调用CreateEmptyQProg接口构建一个量子程序prog,通过 << 操作符把circuit和量子逻辑门插入到prog;
4、运行量子程序:调用runWithConfiguration测量运行接口,让量子程序运行1000遍,量子程序运行完后,就可以得到计算结果了。

运行结果:
0000, 510
1000, 490

(二)最常用的量子计算模型——量子线路相关推荐

  1. 量子计算机模型取,Grover算法在单道量子计算模型下的实现

    摘要: 量子计算机以其巨大的潜力日益得到人们的重视,而且在通向真正实用的量子计算装置的道路上,我们也取得了巨大的进步.从经典计算机的体系结构得到启示,人们提出了量子计算的量子线路模型.它基于一系列作用 ...

  2. 量子计算机grover算法,Grover算法在单道量子计算模型下的实现

    摘要: 量子计算机以其巨大的潜力日益得到人们的重视,而且在通向真正实用的量子计算装置的道路上,我们也取得了巨大的进步.从经典计算机的体系结构得到启示,人们提出了量子计算的量子线路模型.它基于一系列作用 ...

  3. 量子计算 3 量子门与测量

    量子计算 3 量子门与测量 1 经典门与量子门 (Quantum gate) 1.1 什么是量子门 1.2 单比特门操作 NOT/X (Pauli-X or NOT) NOT\sqrt{\text{N ...

  4. 量子计算和量子模拟研究获进展

    来源:中国科学技术大学 北京时间11月19日,中国科学技术大学潘建伟.苑震生等与德国海德堡大学.意大利特伦托(Trento)大学的合作者在超冷原子量子计算和模拟研究中取得重要突破:他们开发了一种专用的 ...

  5. 量子计算与量子软件(一)

    量子计算与量子软件 摩尔定律 量子计算的起源 量子计算的公理 Qubit 最小的酉变化--量子门 量子测量 量子缠绕 不可克隆理论 量子算法 量子的线性性 量子计算的成就 本文的内容来自清华大学魏教授 ...

  6. 量子计算与量子信息之量子计算概述

    量子计算与量子信息之量子计算概述 (这个是连载的哦,期待大家的持续关注啦-) 文章目录 量子计算与量子信息之量子计算概述 一.引言 二.初步感知 三.引言与概述 四.量子比特 1.量子比特的概念 2. ...

  7. 量子计算与量子信息读书笔记——第1章简介与概述(上)

    简介与概述 研究对象:使用量子力学系统能够完成的信息处理任务 基本概念涉及领域:量子力学.计算机科学.信息论和密码体系 历史背景 物理学 危机:经典物理学做出荒谬的预言 解决:量子力学理论创立 量子力 ...

  8. 量子计算与量子信息之量子力学引论(一)

    量子计算与量子信息之量子力学引论(一) 文章目录 量子计算与量子信息之量子力学引论(一) 一.概述 二.线性代数复习与延伸 1.一些记号 2.狄拉克记号与线性空间 3.狄拉克符号与线性无关 4.线性算 ...

  9. 量子计算与量子信息之量子信息概述

    量子计算与量子信息之量子信息概述 上一节中,我们谈过了量子计算的概述,最后一部分是简单介绍了一下量子算法的实现及其应用,现在,这里我们来进行一下量子信息的概述. 文章目录 量子计算与量子信息之量子信息 ...

最新文章

  1. how tomcat works 总结 二
  2. HDU3791(二叉搜索树)
  3. ASP.NET简化编辑界面 V3
  4. 循环结果添加到集合_Java Note-数据结构(4)集合
  5. 【Linux】Linux中目录结构说明
  6. InnoDB和MyISAM有哪些不同
  7. 第三次学JAVA再学不好就吃翔(part14)--基础语法之循环语句注意事项
  8. 关于P,V操作理解的分析
  9. 用Binary Viewer查看H264文件中的每一帧
  10. re正则表达式过滤标题特殊字符,只保留中英文及数字
  11. 显示屏色温调节 影响 测试软件,教你把显示器调到最佳效果
  12. 超级计算机深蓝比卡斯帕罗夫聪明吗,【图片】卡斯帕罗夫对深蓝棋谱及简析【国际象棋吧】_百度贴吧...
  13. python中合法的八进制数是_0o12f 是合法的八进制数字。 (2.0分)_学小易找答案
  14. Android人脸识别技术
  15. GNU:gcc -v
  16. Git强推本地代码到远程
  17. 嘉华股份上交所上市:市值25亿 一年采购8亿元非转基因大豆
  18. css自定义字体font-face的兼容和使用
  19. 全国产品经理职位统计20170512
  20. 因为我爱JAVA,所以我相信Groovy on Grails会一路走好

热门文章

  1. 几种开源java绘图组件介绍
  2. 安卓桌面软件_想在电脑上流畅运行安卓软件?尝试一下麒麟Kydroid 2.0系统
  3. ChatGPT爆火,真有那么神?
  4. 【人工智能AI :Open AI】我想写一本书,书名是《中国文学史》,帮我列一下目录,细化到三级目录,不少于2000字。
  5. matlab工作空间窗口,Tutorial 2 Matlab 工作空间窗口的使用
  6. Windows系统下,Ubuntu安装至移动硬盘(简单分析与详细安装教程)
  7. 用JS基础写一个简单的滚动条事件
  8. ORACLE 删除当前用户下所有的表
  9. 网页|3D正方体照片效果
  10. 财务共享五大价值助力央企构建世界一流财务管理体系