PaddlePaddle / Quantum

Other
567 stars 176 forks source link

【PaddlePaddle Hackathon】78 实现密度矩阵可视化 #14

Open Quleaf opened 2 years ago

Quleaf commented 2 years ago

(此 ISSUE 为 PaddlePaddle Hackathon 活动的任务 ISSUE,更多详见PaddlePaddle Hackathon

Paddle Quantum(量桨)是基于百度飞桨开发的量子机器学习工具集,支持量子神经网络的搭建与训练,提供易用的量子机器学习开发套件与量子优化、量子化学等前沿量子应用工具集,使得百度飞桨也因此成为国内首个支持量子机器学习的深度学习框架。

【任务说明】

获取到某个量子态的密度矩阵就意味着我们获取到了这个量子态的基本信息。在这个任务中,你要实现用可视化的方式来进一步展示这个密度矩阵里所蕴含的信息。具体来说,对于一个 n x n 维的密度矩阵,其矩阵内的元素有 n^2 个,每一个元素都是复数,有实部和虚部,你可以用两个 3D 直方图来分别展示其实部和虚部。第一张图展示实部,x 和 y 坐标对应密度矩阵的 x 行和 y 列,相应位置元素实部的值对应了 z 坐标值的大小,第二张图展示虚部,其规则与实部相同。

任务要求

  1. 实现对 n>=1 个量子比特产生的密度矩阵,都可以展示其可视化功能
  2. 应使用 matplotlib 库的子图功能产生左右两个子图
  3. 输入应可以兼容量桨的数据类型 paddle.Tensor

功能定位:对 paddle_quantum.utils 库进行功能扩展

函数输入:多量子比特的量子态的状态向量或者密度矩阵(类型为 paddle.Tensornp.ndarray

函数输出:对应的密度矩阵可视化图(类型为 matplotlib.Figure

【提交内容】

  1. 项目PR到 Quantum
  2. 相关技术文档
  3. 项目单测文件

【技术要求】

  1. 对量桨平台的运用有一定了解
  2. 对密度矩阵的实现有一定了解
  3. matplotlib 画图库有一定了解