[发明专利]基于PyTorch的轻量快速的量子电路模拟实现系统在审
申请号: | 202210003901.0 | 申请日: | 2022-01-04 |
公开(公告)号: | CN114528995A | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 谢哲;申倬豪;唐豪;金贤敏 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06N10/20 | 分类号: | G06N10/20 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 pytorch 快速 量子 电路 模拟 实现 系统 | ||
1.一种基于PyTorch的轻量快速的量子电路模拟实现系统,其特征在于,包括:量子电路设计模块、量子电路转换模块和量子电路计算模块,其中:量子电路设计模块根据用户输入的量子电路描述,构建对应的量子电路对象;量子电路转换模块根据量子电路对象,转换并编译得到对应的量子电路PyTorch对象;量子电路计算模块根据量子电路PyTorch对象与用户输入的量子态,进行量子电路模拟计算,得到用于构成完整的量子电路模型的测量结果;
所述的量子电路描述,包含量子电路中的所有量子门种类、顺序及名称信息;
所述的量子电路PyTorch对象包括量子电路对象中包含的量子门对应的参数信息。
2.根据权利要求1所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的量子电路设计模块内置不同量子门种类对应的添加门电路成员函数,根据用户调添加对应的量子门信息并构建量子电路对象,该量子电路对象通过列表类型的成员变量的方式,存储所述的用户输入的量子电路描述中包含的量子门种类、顺序及名称信息。
3.根据权利要求1所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的转换是指:根据量子电路对象内部以列表形式存储的所有量子门信息,逐一转换为量子门对应的参数矩阵,并按顺序存储于量子电路PyTorch对象的顺序表中,该顺序表包括含优化参数矩阵与无优化参数矩阵,其中:含优化参数矩阵对应包含参数的量子门,无优化参数矩阵对应不包含参数的量子门。
4.根据权利要求1所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的编译是指:按照顺序遍历量子电路PyTorch对象的顺序表,对相邻的两个无优化参数矩阵进行合并,以降低连续的无优化参数矩阵造成的计算时间开销。
5.根据权利要求1所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的量子电路模拟计算是指:对于量子电路PyTorch对象的顺序表中存储的第一个参数矩阵,将其与用户输入的量子态进行矩阵乘法操作,作为该参数矩阵对应的运算结果;对于量子电路PyTorch对象的顺序表中存储的其余的参数矩阵,将其与顺序表中上一参数矩阵对应的运算结果进行矩阵乘法操作,作为该参数矩阵对应的运算结果;顺序表中最后一个参数矩阵对应的运算结果即量子电路的计算结果。
6.根据权利要求5所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的矩阵乘法操作是指:根据用户运行所述的量子电路模拟实现系统的程序时使用的计算设备,自动选择密集矩阵或稀疏矩阵后端程序,对输入矩阵使用特定的PyTorch矩阵乘法接口进行矩阵乘法运算,当用户使用CPU设备时,量子电路计算模块选择稀疏矩阵计算后端程序,将顺序表中存储所有的参数矩阵转换为稀疏参数矩阵,并使用PyTorch稀疏矩阵乘法接口进行矩阵乘法运算;当用户使用GPU设备或其它拥有高性能并行计算能力的设备时,量子电路计算模块选择密集矩阵计算后端程序,直接使用PyTorch密集矩阵乘法接口进行矩阵乘法运算。
7.根据权利要求1或5所述的基于PyTorch的轻量快速的量子电路模拟实现系统,其特征是,所述的量子电路模拟计算进一步包括共轭转置变换操作,即:通过设置额外的共轭转置标志,决定是否对输入的量子电路PyTorch对象对应的量子电路在进行共轭转置操作后计算,在执行共轭转置操作时,将量子电路PyTorch对象内部的顺序表中的所有参数矩阵分别进行矩阵共轭转置计算,并将该顺序表进行前后翻转,存储于量子电路PyTorch对象中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210003901.0/1.html,转载请声明来源钻瓜专利网。