自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 基于 MindQuantum 0.9 实现 expm 门

在基于变分算法实现量子优化控制时,我们往往需要执行 expm 门。即,设计一个量子门实现对于一个给定的力学量。本文中我们将介绍如何基于 mq09 的自定义单参数门来实现该功能。

2024-05-12 19:58:25 825

原创 华为笔记本如何关闭智能充电模式

介绍了关闭华为笔记本智能充电模式的方案

2023-09-21 18:01:49 1355

原创 基于 MindQuantum 计算受控量子门的矩阵

MindQuantum 当前版本 (0.9.0) 中采用了一种间接计算的方法:先将受控量子门构造成量子线路,然后在后端计算量子线路的矩阵,从而得到与之等价的受控量子门的矩阵。 本文介绍一种方法,来直接计算受控量子门的矩阵。原理上和 MindQuantum 类似,虽然不如后者优雅,但在计算效率上会有一定优势。

2023-09-21 09:52:44 156

原创 基于 MindQuantum 实现振幅编码

MindQuantum 当前版本 0.8.0 已拥有振幅编码 API:amplitude_encoder,不过其只能处理不含相位信息的输入数据。比如 [0.5, -0.5, 0.5, 0.5] 这样的输入数据。实践中,我们有时需要实现编码带有相位信息的数据,本文采用“自上而下法”的振幅编码方案实现这一目标。

2023-09-11 17:41:04 498

原创 基于 Python 和 Numpy 实现复数开方运算

基于 Python 和 Numpy 实现复数开方运算

2023-08-25 16:28:36 354

原创 基于子空间计算给定哈密顿量的期望值

在运行基于量子线路模型的量子算法时,系统的哈密顿量往往由多项构成,而每一子项可能只涉及单个或者几个量子比特,如果每次计算都构建完整的矩阵,会造成资源的浪费,尤其是当系统规模很大时,成本会很高。此时,我们可以分别在每个子项所涉及的那几个量子比特的子空间内直接对量子态进行求期望值,最后再对各子项求和,就可以快速完成对哈密顿量期望值计算。

2023-08-16 21:05:53 170

原创 基于子空间完成对量子比特的操作

在运行基于量子线路模型的量子算法时,基本操作往往都是只涉及整个系统中的单个或者几个量子比特,如果每次都构建完整的矩阵,会造成计算资源的浪费,尤其是当系统规模很大时。此时,我们可以在被施加量子门的那几个量子比特的子空间内直接对量子态进行操作,快速完成量子门操作。

2023-08-15 16:05:49 91

原创 基于 Mindquantum 实现比特相位翻转

在量子计算任务中,我们有时需要翻转量子态某一个或一些分量的相位,比如在 Grover 算法中,构建 Oracle 算子时,我们需要翻转目标量子态的相位,。而构造条件相移算子时,我们则需要翻转除 |0> 态之外所有态的相位。MindQuantum 官方教程中给出了一种构造方法。本文介绍另一种实现方案,虽然最终线路深度不如 MindQuantum 方案浅,但是面对初级阶段的学习者,作为教程还是比较容易理解的。

2023-08-09 20:42:59 194

原创 对于给定量子纯态,求其中某一或某些量子比特的约化密度矩阵

在量子计算的结果中,我们可能只对其中几个量子比特感兴趣,这时就要求它们的约化密度矩阵。本文基于 MindQuantum 来实现这一点(撰写本文时,MindQuantum 的发行版为 0.8.0,尚不支持此功能,虽然后续版本中肯定会支持,但是考虑到网上目前很少有关于这方面内容的介绍,我还是稍微写得详细一些,便于读者参考。如果有地方表达不清,或者有错误,欢迎批评指正。)

2023-07-30 19:14:15 421

原创 基于 MindQuantum 和 本源真实量子计算机,以参数移位法求解量子线路的梯度并进行训练

基于 MindQuantum 和 本源真实量子计算机,以参数移位法求解量子线路的梯度并进行训练

2023-04-17 15:11:49 299

原创 在 MindQuantum 中,如何根据对某个(些)量子比特的测量结果决定后续量子线路的执行

在量子算法中,有时需要根据某个(些)量子比特的测量结果决定是否执行后续量子线路,从而筛除掉一些不想要的分量。本文中,我们通过一个简单的例子,展示如何在 MindQuantum 中实现该操作。

2023-04-05 17:32:30 131

原创 用 GW 算法求最大割问题

用 GW 算法求最大割问题

2023-03-08 21:08:18 156

原创 MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络

在本文中,我们将介绍一些量子信息的基础知识 和 MindQuantum 量子计算框架的基本用法,最后基于 MindQuantum 0.7.0 搭建量子卷积神经网络,以实现对 MINIST 手写字体的识别任务。

2022-12-07 19:26:30 2101 6

原创 使用穷举法求解权重图最大割问题

在本文中,我们将介绍如何通过穷举法来计算权重图的最大割问题。

2022-12-02 19:02:30 198 3

原创 基于 MindQuantum 实现对含有自定义量子门且损失函数涉及多个哈密顿量的量子线路的训练

前面文章中已经提到了,采用 Projectq 后端的 MindQuantum 0.7.0 及之前的版本不支持对损失函数涉及多个哈密顿量的自定义量子门组成的量子线路求梯度,我们在那篇文章中就采用中心差分,自己动手编了一个函数来完成该任务。在本文中,我们更进一步,综合起之前的几篇文章来实现一个更高级的任务:构建框架,实现对含有自定义量子门且损失函数涉及多个哈密顿量的量子线路的训练。

2022-09-11 17:43:53 511

原创 MindQuantum 中 get_exceptation_with_grad 和 grad_ops 之间的关系

MindQuantum 中模拟器 `Simulator` 下的两个函数 `get_exceptation_with_grad` 和 `grad_ops` 可能会让一些朋友感到疑惑。他们其实就是基于类和方法、函数嵌套构造起来的。本文中,我们将繁杂的代码简单化,清楚地显示出它们之间的关系,以便于大家理解。

2022-09-09 21:38:03 200

原创 如何利用 MindQuantum 中自定义的量子门,实现对多个哈密顿量求期望值和梯度?

由于迄今的 MindQuantum 0.7.0 及之前版本都是不支持这个功能的(一旦使用,python 会自动重启内核)真是遗憾,希望官方能早日完成改进。本博文将展示如何基于当前版本 MindQuantum 采用差分法求自定义量子门对多个哈密顿量的期望值和梯度。

2022-09-09 19:55:29 729 1

原创 MindQuantum 0.7.0源代码阅读理解(1)

系列文章,详细介绍 MindQuantum 0.7.0 的源代码

2022-09-08 21:18:24 260

原创 如何用位运算 & 判断一个数是否为 2 的幂次

用位运算 & 计算一个数是否为 2 的幂次

2022-09-08 20:45:17 288

原创 MindQuantum 0.7.0 源代码阅读理解(0)

详细介绍 MindQuantum 0.7.0 的源代码

2022-09-08 17:24:17 312

原创 MindQuantum自定义损失函数和目标标签训练部分量子线路

MindQuantum自定义损失函数和目标标签训练部分量子线路

2022-07-06 15:25:50 163

原创 MindQuantum自定义损失函数和目标标签训练量子线路

MindQuantum自定义损失函数和目标标签训练量子线路

2022-07-06 12:19:23 130

原创 MindQuantum自定义损失函数训练量子线路

MindQuantum 自定义损失函数训练量子线路

2022-07-04 16:45:42 207

原创 基于 MindQuantum 0.6.0 实现 3 量子比特幺正算符重构(涉及修改源代码)

基于 MindQuantum 实现幺正算符重构设计设计拟设线路,使末态与目标态的保真度尽可能高。其中目标态即为由初态经过待重构的目标幺正算符操作得到。

2022-05-25 15:14:47 99

原创 基于 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 252

原创 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 1099 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 123

原创 MindSpore - 自定义损失函数 和 多输入参数的线性拟合

介绍如何自定义损失函数 和 对多输入参数的函数进行拟合。

2022-03-03 17:40:12 1098

原创 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 886

原创 MindSpore - Tensor 张量基础

介绍 MindSpore 机器学习框架中 Tensor 的基本操作

2022-02-24 19:57:56 1888

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除