量子门的有效性及判断方法:
更新于:2019/08/02 10:32 最新回复:1个月前 复制链接
阅读 141

.

收藏 1

.

评论 1

.

分享 0

量子门的分类

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

单比特逻辑门判断

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

双量子门判断

    双量子门需要判断元数据提供的双量子门的容器中是否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

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

2019/08/02 10:32
全部评论

本源量子有限公司

关注

2

粉丝

3

被收藏

4

被推荐

达人热帖

本源量子
下载本源量子云APP
获得更好的使用体验