查看原文
其他

QPanda 2教程资源 | 量子门的有效性及判断方法

OriginQ 本源量子 2021-02-13

hi~

继上周末推送的

量子比特的测量方法

小编再次为大家带来

量子门的有效性

那么如何进行有效验证呢

请滑动你的小手吧!



在上一篇文章中,小编为大家介绍了量子比特的测量方法,主要有量子测量和概率测量两种方法。量子测量操作对量子比特进行测量,将值保存至经典寄存器中。概率测量是指获得目标量子比特的振幅,目标量子比特可以是一个量子比特也可以是多个量子比特的集合。

在接下来的系列文章中,小编要为大家介绍的是QPanda 2的工具组件。那么,就让我们先从量子门的有效性来说起吧。


量子门的分类

量子门主要分为单量子门、双量子门和三量子门,根据量子芯片中元数据不同的单量子门或双量子门组合,对单量子门和双量子门又分为了不同的类型。下面分别对单量子门和双量子门进行介绍。

单比特逻辑门判断

单量子门可分为四种情况:任意旋转类、双连续类、单连续单离散类、双离散类。下面根据量子芯片的元数据,判断单量子门所属类型。

双量子门判断

双量子门需要判断元数据提供的双量子门的容器中是否CNOT、SWAP门。如果存在则元数据可用,如果不存在则元数据不可用。


判断量子门有效性的方法

判断量子门有效性是由SingleGateTypeValidator和DoubleGateTypeValidator两个类实现的。下面分别对这两个类中的接口进行介绍。


接口介绍

SingleGateTypeValidator是验证单量子逻辑门有效性的工具类。使用方式如下:

std::vector<std::string> single_gate;

std::vector<std::string> valid_single_gate; // 有效的量子逻辑门组合会输出到这个容器中

single_gate.push_back("T");

single_gate.push_back("H");

single_gate.push_back("S");

auto single_gate_type = SingleGateTypeValidator::GateType(single_gate, valid_single_gate); // 得到有效的量子逻辑门组合,和有效组合的类型

DoubleGateTypeValidator是验证双量子逻辑门有效性的工具类。使用方式如下:

std::vector<std::string> double_gate;

std::vector<std::string> valid_double_gate; // 有效的量子逻辑门组合会输出到这个容器中double_gate.push_back("CNOT");

double_gate.push_back("SWAP");

double_gate.push_back("CZ");

auto double_gate_type = DoubleGateTypeValidator::GateType(double_gate, valid_double_gate); // 得到有效的量子逻辑门组合,和有效组合的类型


实例

1.单量子逻辑门的有效性验证:申请两个容器,一个存放需要验证的量子逻辑门,一个存放有效的量子逻辑门组合。

2.添加量子逻辑门:向第一个容器中添加需要测量的量子逻辑门。

3.有效性验证:调用SingleGateTypeValidator::GateType接口验证添加的量子逻辑门的有效性,返回值为有效的类型,第二个容器中存放着有效类型的组合,若是无效的则返回-1。

4.双量子逻辑门的有效性验证:调用SingleGateTypeValidator::GateType接口验证添加的量子逻辑门的有效性,返回值为有效的类型,第二个容器中存放着有效类型的组合,若是无效的则返回-1。

运行结果:

SingleGateTransferType: 3

T H

doubleGateTransferType: 0CNOT

★以上即为QPanda 2量子门的有效性部分的详细内容介绍。

★感兴趣的欢迎加入"QPanda 2开发交流群"。(关注“本源量子”公众号,回复“加群”,联系小编即可)

★PC端学习量子计算请登录learn-quantum.com  

★掌上学习请下载"本源溯知APP"

★如有疑问可上量子互动论坛,与我们的大神进行交流讨论。



往期精彩回顾

QPanda 2教程资源 | 量子比特的测量方法:量子测量和概率测量

模拟量子虚拟机的解决方案(下):单振幅和含噪声量子虚拟机

模拟量子虚拟机的解决方案(上):全振幅和部分振幅量子虚拟机

QPanda 2教程资源 | 构建量子程序、QWhile与QIf的方法

QPanda 2最常用的量子计算模型——量子线路

嗨玩本源QPanda 2,从量子逻辑门实例开始学起!

QPanda更新带来4种量子虚拟机+2种开发工具

【新品】国内首款量子软件开发包QPanda 2.0 升级发布!

Origin Q发布国内首款量子软件开发包Q-Panda


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存