QPanda 2教程资源 | 量子门的有效性及判断方法
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