Hannoskaj / Hyperplane_Intersection_Projection

BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Convert the code to an installable package `qpt-pls` #2

Open quantshah opened 3 years ago

quantshah commented 3 years ago

I accidentally created PR #1 when I meant to open a discussion.

@Hannoskaj Thank you for this nice code and implementation of the algorithm. I am one of the developers of the qutip project (qutip.org) and I am interested in using your implementation of quantum process tomography.

I have been working with state tomography and have recently started exploring quantum process tomography.

I wanted to standardise the code a little bit more into a python package that can be eventually installed as simply as pip install qpt-pls or python setup.py install and used easily by others as a normal python package. I am going to develop the code a bit more in a fork of your repository under (https://github.com/quantshah/qpt-pls).

I have been publishing all my code as installable python packages (e.g. qst-cgan, piqs). I would be happy to help develop this into a python package and benchmark against other process tomography methods such as CPTPprojection.

Hannoskaj commented 3 years ago

Thank you! It will probably be more convenient!

(By the way, yout link to your notebook on state tomography failed with 404 for me).

quantshah commented 3 years ago

Hi,

Sorry for the 404, sometimes the Jupyter notebooks do not load properly. Here is the implementation I wrote link

The original code was part of a benchmark for different tomography methods link. It's from a recently accepted PRL paper on state tomography with neural networks.

I will soon update you with the refactored code from your repository. It's pretty nice to be able to run your code easily. However I did face some small issues with dependencies and so decided to make your code into a package. If the main algorithm can be written down within a single notebook as the simplest process tomography example, we can also put it on the QuTiP website and link to your repository. It will be very helpful for the wider community. We have many example notebooks in the tutorials section: https://qutip.org/tutorials.html

On Fri, 27 Aug 2021 at 23:17, Hannoskaj @.***> wrote:

Thank you! It will probably be more convenient!

(By the way, yout link to your notebook on state tomography failed with 404 for me).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Hannoskaj/Hyperplane_Intersection_Projection/issues/2#issuecomment-907481479, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVFIBHLRIFRTKPTEHRBBTLT676H3ANCNFSM5C5TRYKA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

quantshah commented 2 years ago

Hi, I am making a QuTiP tutorial using your code for the minimum HIP implementation:

Please let me know if I need to cite your original code and paper better or if you have any other suggestions. The PR is here:

https://github.com/qutip/qutip-notebooks/blob/710baa7d6fc6c679b4a06bc7695de9538c0ccdd0/examples/tomography-process-tomo-pls.ipynb

quantshah commented 2 years ago

If you are active on Twitter then please check out : https://twitter.com/quantshah/status/1448681993277952005

Thanks

Hannoskaj commented 2 years ago

I am not on Twitter :)

Thank you for your work on the tutorial!

If you need help to understand any point, you can write me (I think my mail address should at least be in the article). What benchmarks do you want to try (yes, I can read Twitter :))?

A few comments on the state of your notebook:

By the way, do you want a better version of proj_CP_threshold? I realised toward the end of the writing of the article that I could change it so that I would always be in the good regime (the bottom line in Figure 6). It was late to redo the experiments, and I will add it in the article on the algorithm itself, but I can already update the repository here if you want.

quantshah commented 2 years ago

Hi @Hannoskaj thank you so much for your comments. I will try to incorporate them in the notebook. Do you mind continuing the discussion about the tutorial on the PR in QuTiP (https://github.com/qutip/qutip-notebooks/pull/133) ? This way you can also be part of the review process which would be very helpful. I want to add your contact and name to the notebook as well if that is alright. After all it is your code.

I definitely would be happy to incorporate a better version of proj_CP_threshold if you want to share. Please do.

quantshah commented 2 years ago

Dear @Hannoskaj I updated the qutip notebook for a demonstration of your HIP switch algorithm here: https://github.com/qutip/qutip-notebooks/blob/241f77edd9f3f821da715959d5ee1c6eaada7f78/examples/tomography-process-tomo-pls.ipynb

Would you be willing to review the code and PR: https://github.com/qutip/qutip-notebooks/pull/133

It is a self-contained demonstration of your paper with the code from here. I could not for some reason get the HIP switch to work for a 5 qubit QFT process reconstruction. I am going to use your code for some more benchmarks on a current project of mine and it would be great if I get some feedback on whether I used the full power of your algorithm.