- 博客(35)
- 收藏
- 关注
原创 基于 MindQuantum 实现对 “天衍” 量子云平台真机的比特映射
本文将介绍如何基于 MindQuantum 绘制“天衍”真机的拓扑图,并进而实现比特映射。
2024-12-06 00:12:18
507
原创 基于 MindQuantum 和“天衍”量子云平台实现变分量子算法
本文即以一个简单案例,展示如何使用 MindQuantum + “天衍”量子云平台,在量子计算机硬件上实现变分量子算法。
2024-12-03 00:25:28
1251
2
原创 基于 MindQuantum 0.9 实现 expm 门
在基于变分算法实现量子优化控制时,我们往往需要执行 expm 门。即,设计一个量子门实现对于一个给定的力学量。本文中我们将介绍如何基于 mq09 的自定义单参数门来实现该功能。
2024-05-12 19:58:25
917
原创 基于 MindQuantum 计算受控量子门的矩阵
MindQuantum 当前版本 (0.9.0) 中采用了一种间接计算的方法:先将受控量子门构造成量子线路,然后在后端计算量子线路的矩阵,从而得到与之等价的受控量子门的矩阵。 本文介绍一种方法,来直接计算受控量子门的矩阵。原理上和 MindQuantum 类似,虽然不如后者优雅,但在计算效率上会有一定优势。
2023-09-21 09:52:44
270
原创 基于 MindQuantum 实现振幅编码
MindQuantum 当前版本 0.8.0 已拥有振幅编码 API:amplitude_encoder,不过其只能处理不含相位信息的输入数据。比如 [0.5, -0.5, 0.5, 0.5] 这样的输入数据。实践中,我们有时需要实现编码带有相位信息的数据,本文采用“自上而下法”的振幅编码方案实现这一目标。
2023-09-11 17:41:04
942
原创 基于子空间计算给定哈密顿量的期望值
在运行基于量子线路模型的量子算法时,系统的哈密顿量往往由多项构成,而每一子项可能只涉及单个或者几个量子比特,如果每次计算都构建完整的矩阵,会造成资源的浪费,尤其是当系统规模很大时,成本会很高。此时,我们可以分别在每个子项所涉及的那几个量子比特的子空间内直接对量子态进行求期望值,最后再对各子项求和,就可以快速完成对哈密顿量期望值计算。
2023-08-16 21:05:53
321
原创 基于子空间完成对量子比特的操作
在运行基于量子线路模型的量子算法时,基本操作往往都是只涉及整个系统中的单个或者几个量子比特,如果每次都构建完整的矩阵,会造成计算资源的浪费,尤其是当系统规模很大时。此时,我们可以在被施加量子门的那几个量子比特的子空间内直接对量子态进行操作,快速完成量子门操作。
2023-08-15 16:05:49
157
原创 基于 Mindquantum 实现比特相位翻转
在量子计算任务中,我们有时需要翻转量子态某一个或一些分量的相位,比如在 Grover 算法中,构建 Oracle 算子时,我们需要翻转目标量子态的相位,。而构造条件相移算子时,我们则需要翻转除 |0> 态之外所有态的相位。MindQuantum 官方教程中给出了一种构造方法。本文介绍另一种实现方案,虽然最终线路深度不如 MindQuantum 方案浅,但是面对初级阶段的学习者,作为教程还是比较容易理解的。
2023-08-09 20:42:59
319
原创 对于给定量子纯态,求其中某一或某些量子比特的约化密度矩阵
在量子计算的结果中,我们可能只对其中几个量子比特感兴趣,这时就要求它们的约化密度矩阵。本文基于 MindQuantum 来实现这一点(撰写本文时,MindQuantum 的发行版为 0.8.0,尚不支持此功能,虽然后续版本中肯定会支持,但是考虑到网上目前很少有关于这方面内容的介绍,我还是稍微写得详细一些,便于读者参考。如果有地方表达不清,或者有错误,欢迎批评指正。)
2023-07-30 19:14:15
781
原创 基于 MindQuantum 和 本源真实量子计算机,以参数移位法求解量子线路的梯度并进行训练
基于 MindQuantum 和 本源真实量子计算机,以参数移位法求解量子线路的梯度并进行训练
2023-04-17 15:11:49
508
原创 在 MindQuantum 中,如何根据对某个(些)量子比特的测量结果决定后续量子线路的执行
在量子算法中,有时需要根据某个(些)量子比特的测量结果决定是否执行后续量子线路,从而筛除掉一些不想要的分量。本文中,我们通过一个简单的例子,展示如何在 MindQuantum 中实现该操作。
2023-04-05 17:32:30
200
原创 MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络
在本文中,我们将介绍一些量子信息的基础知识 和 MindQuantum 量子计算框架的基本用法,最后基于 MindQuantum 搭建量子卷积神经网络,以实现对 MINIST 手写字体的识别任务。
2022-12-07 19:26:30
3083
8
原创 基于 MindQuantum 实现对含有自定义量子门且损失函数涉及多个哈密顿量的量子线路的训练
前面文章中已经提到了,采用 Projectq 后端的 MindQuantum 0.7.0 及之前的版本不支持对损失函数涉及多个哈密顿量的自定义量子门组成的量子线路求梯度,我们在那篇文章中就采用中心差分,自己动手编了一个函数来完成该任务。在本文中,我们更进一步,综合起之前的几篇文章来实现一个更高级的任务:构建框架,实现对含有自定义量子门且损失函数涉及多个哈密顿量的量子线路的训练。
2022-09-11 17:43:53
583
原创 MindQuantum 中 get_exceptation_with_grad 和 grad_ops 之间的关系
MindQuantum 中模拟器 `Simulator` 下的两个函数 `get_exceptation_with_grad` 和 `grad_ops` 可能会让一些朋友感到疑惑。他们其实就是基于类和方法、函数嵌套构造起来的。本文中,我们将繁杂的代码简单化,清楚地显示出它们之间的关系,以便于大家理解。
2022-09-09 21:38:03
287
原创 如何利用 MindQuantum 中自定义的量子门,实现对多个哈密顿量求期望值和梯度?
由于迄今的 MindQuantum 0.7.0 及之前版本都是不支持这个功能的(一旦使用,python 会自动重启内核)真是遗憾,希望官方能早日完成改进。本博文将展示如何基于当前版本 MindQuantum 采用差分法求自定义量子门对多个哈密顿量的期望值和梯度。
2022-09-09 19:55:29
882
2
原创 基于 MindQuantum 0.6.0 实现 3 量子比特幺正算符重构(涉及修改源代码)
基于 MindQuantum 实现幺正算符重构设计设计拟设线路,使末态与目标态的保真度尽可能高。其中目标态即为由初态经过待重构的目标幺正算符操作得到。
2022-05-25 15:14:47
157
原创 基于 scipy.optimize.minimize 方法对 MindQuantm 搭建的变参量子线路进行优化
基于 scipy.optimize.minimize 方法对 MindQuantm 搭建的变参量子线路进行优化。任务详情请参考 MindQuantum 官网import numpy as np import mindspore as msfrom mindquantum import *from scipy.optimize import minimizems.context.set_context(mode=ms.context.PYNATIVE_MODE, device_target="
2022-04-29 11:47:19
321
原创 MindSpore 使用 TrainOneStepCell 训练网络 —— 以线性拟合为例
nn.TrainOneStepCell 的用法可以每次只训练一个 step。使用 MindSpore 自带的数据集形式import mindspore.dataset as dsimport numpy as npimport mindspore.nn as nnfrom mindspore.common.initializer import Normalclass LinearNet(nn.Cell): def __init__(self): super().__i
2022-04-26 20:09:20
1326
1
原创 函数以其他函数输出的元组作为输入
函数如何以其他函数输出的元组作为输入:import numpy as npdef lala(x, y_1, y_2): # x 为其他函数输出的元组 x_1, x_2 = x print('x_1:\n{}\n'.format(x_1)) print('x_2:\n{}\n'.format(x_2)) return y_1 + y_2 - x_1 - x_2def biu(): # 返回值为包含两个列向量构成的元组 return np.array([[1.]
2022-03-10 15:00:06
139
原创 Mindspore - 实现简单的线性拟合 介绍 数据集的生成、网络及模型的搭建、训练及预测
MindSpore 线性拟合实践此处,以线性函数拟合为例,演示如何搭建和训练网络。 因涉及到自定义数据集、网络搭建与训练,本文档可为用 MindSpore 搭建机器学习算法做简单入门指导。更多内容请参考MindSpore官方教程:简单线性函数拟合。待拟合的目标函数为: f(x)=2x+1.f(x)=2x+1.f(x)=2x+1.而用于训练和测试的数据点定义为 y=2x+1+noise,y=2x+1+noise,y=2x+1+noise, 其中 noisenoisenoise 满足 0 均值的正态分布.
2022-02-25 10:53:31
999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人