GQSP-Based Hamiltonian Simulation for the Hubbard-Holstein Model — Paper Implementation Challenge#1524
GQSP-Based Hamiltonian Simulation for the Hubbard-Holstein Model — Paper Implementation Challenge#1524achebiyam wants to merge 7 commits intoClassiq:mainfrom
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
|
🔥 New notebook just dropped! @amir-naveh , @TomerGoldfriend — come check out this shiny new addition to our repo. |
|
Note: The .qmod export fails due to a serialization issue in lcu_pauli (TypeError: 'CParamScalar' object cannot be interpreted as an integer). This appears to be an SDK bug in write_qmod when used with lcu_pauli. The synthesized circuit is viewable on the Classiq platform here: https://platform.classiq.io/circuit/3B1F4EOqyt9Dqwju9Ik37lJQvc4 Happy to add the .qmod file once this serialization issue is resolved, or if the team can suggest a workaround. |
Thank you @achebiyam , I will go over the PR. I will pass this bug to the team. There is no need to include .qmod anymore, so you can delete it and the |
Thanks @TomerGoldfriend! The submitted notebook already uses show(qprog_gqsp) |
| @@ -0,0 +1,1243 @@ | |||
| { | |||
There was a problem hiding this comment.
Line #1. !pip install "classiq[qsp]" keyrings.alt pennylane -q
remove any pennylane use from the notebook
Reply via ReviewNB
| @@ -0,0 +1,1243 @@ | |||
| { | |||
There was a problem hiding this comment.
| @@ -0,0 +1,1243 @@ | |||
| { | |||
There was a problem hiding this comment.
Line #2. classiq.authenticate()
remove authentication from the notebook. It is a pre assumption for the notebook
Reply via ReviewNB
|
Done. I removed pennylane, keyring, and authenticate. Also removed the VQE section which depended on pennylane. Happy to address any further feedback. |
|
@achebiyam |
|
I appreciate the feedback. This notebook represents several weeks of original research, including diagnosing a previously unreported platform limitation at exactly 16 Pauli terms and implementing the first GQSP simulation of an electron-phonon system on Classiq. I used AI tooling for polish and presentation, not for the research or implementation itself. That said, I do understand the style doesn't match the existing notebooks in the repo. I'll rework the markdown and formatting to better align with your conventions and resubmit. Thanks again. |
…holstein_gqsp.ipynb
Rework notebook style per reviewer feedback
|
Hi @orsa-classiq, @TomerGoldfriend, just checking in on this PR. I addressed all the feedback from late March (removed pennylane/keyring/authenticate, reworked the markdown style and tone to match the existing notebooks in the repo). Happy to make any additional changes if there's anything else you'd like adjusted. Thanks! |
OK @achebiyam, I will examine it. Sorry for missing your last commits and thanks for the reminder. |
| @@ -0,0 +1,789 @@ | |||
| { | |||
There was a problem hiding this comment.
Line #23. GQSP_SCALE = 0.99
Can you explain this? it is typically to avoid numerical instabilities in gqsp_phases . I think you can try to increase it a bit. Anyway, please explain it.
Reply via ReviewNB
| @@ -0,0 +1,789 @@ | |||
| { | |||
There was a problem hiding this comment.
Please explain in more detail what is this model.
- Currently, you have fraction of sentences, please write complete ones.
- Explain (can be in one sentence) what is this model, does it have a physical meaning? and give a reference (to a paper or to wikipedia for example).
- Many things are not defined here, what is b_i? what is c_{i\sigma}, and n_i? what is N_max?
- Also, please specify explicitly which parameters you are going to set. Then, in the code, it will be good to set some hyperparameters clearly.
Reply via ReviewNB
| @@ -0,0 +1,789 @@ | |||
| { | |||
There was a problem hiding this comment.
For the Fermions, is it possible to work with Classiq's integration with OpenFermion?
You can define the Fermionic operators with openfermion FermionOperator and then use their jordan_wigner transform. Then you can use Classiq's built-in function which transforms QubitOperator to Classiq's SparsePauliOp .
See here for example: https://github.com/Classiq/classiq-library/blob/main/applications/chemistry/second_quantized_hamiltonian/second_quantized_hamiltonian.ipynb
Reply via ReviewNB
| @@ -0,0 +1,789 @@ | |||
| { | |||
There was a problem hiding this comment.
TomerGoldfriend
left a comment
There was a problem hiding this comment.
@achebiyam I left several comments.
Some additional general comments:
- Please run the notebook, see that it is working, and leave the outputs. We should see the notebook execution cells outputs.
- There is a lot of code with little explanations. You should add some concise explanations before very big code blocks, such that it will be clear what is implemented.
Paper Implementation Challenge Submission
GitHub Issue: #1504
Author: @achebiyam
Summary
First application of Generalized Quantum Signal Processing (GQSP) to an
electron-phonon coupled system (Hubbard-Holstein model) on the Classiq platform.
What's included
Primary reference
D. Motlagh and N. Wiebe, "Generalized Quantum Signal Processing",
PRX Quantum 5, 020368 (2024). arXiv:2308.01501
Notes
pip install "classiq[qsp]"