PaddlePaddle / Quantum

Other
567 stars 176 forks source link

【PaddlePaddle Hackathon】80 多量子比特独立系统的 Bloch 球展示 #26

Closed yangguohao closed 2 years ago

yangguohao commented 2 years ago

task:https://github.com/PaddlePaddle/Quantum/issues/16 编写了一个新的函数 plot_n_qubit_state_in_bloch_sphere,实现了将多比特量子态表现在布洛赫球上。 单测文件:https://github.com/yangguohao/Quantum-1/tree/task80/documents

Quleaf commented 2 years ago

review 了一下你的代码,整体实现的挺好的,有一些小细节我认为可以修改一下:

  1. 能否用子图的形式,将一个量子态的多个独立系统的bloch球展示在同一个图中。
  2. 在绘制的Bloch球上的量子比特,有时是红色,有时是黑色,这个最好也可以统一一下。
  3. 在代码规范方面,可以再加强一些。可以参考Python代码规范,让代码更容易被阅读。
yangguohao commented 2 years ago

你好 回复收到 我想请问一下子图的意思是说如果有3个量子比特的话 一个图中需要有三个子图的意思吗

-----原始邮件----- 发件人:QuLeaf @.> 发送时间:2021-10-25 12:50:24 (星期一) 收件人: PaddlePaddle/Quantum @.> 抄送: yangguohao @.>, Author @.> 主题: Re: [PaddlePaddle/Quantum] 【PaddlePaddle Hackathon】80 多量子比特独立系统的 Bloch 球展示 (PR #26)

review 了一下你的代码,整体实现的挺好的,有一些小细节我认为可以修改一下:

能否用子图的形式,将一个量子态的多个独立系统的bloch球展示在同一个图中。 在绘制的Bloch球上的量子比特,有时是红色,有时是黑色,这个最好也可以统一一下。 在代码规范方面,可以再加强一些。可以参考Python代码规范,让代码更容易被阅读。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

Quleaf commented 2 years ago

嗯,是的。这样会更直观一些。对于量子比特数较多的量子态,可以考虑以多个图片(每个图片包括一个子图)的形式展示,或者不予展示也可以。

Quleaf commented 2 years ago

测试了一下,目前的代码仍然有bug。在plot_state_in_bloch_sphere()中没有添加n_qubit这个参数。 以及,我倾向于这里不修改plot_state_in_bloch_sphere()函数,plot_n_qubit_state_in_bloch_sphere并不是必须要调用plot_state_in_bloch_sphere()函数。

实现一个plot_state_in_bloch_sphere()函数,函数输入为一个由多个量子比特组成的量子态,将其进行展示。展示效果为一个图片,由n个子图组成,每个子图分别为每个独立系统对应的bloch球展示,这样就可以了。

Quleaf commented 2 years ago

整体功能已经大致完成了。只是代码仍有两个小问题。一个是which_qubitsshow_qubits这里有问题,参数里是前者,代码里用了后者;还有一个是对于态矢量的模式没有适配,测试用例的最后一个似乎不能跑通。

Quleaf commented 2 years ago

很棒,之前的问题都解决了。不过我发现,在保存文件的代码似乎没有修改。这里的话,可以考虑把显示的图片进行保存,也可以不用保存gif,可以考虑保存成静态图片,比如png格式。