Skip to content

GQSP-Based Hamiltonian Simulation for the Hubbard-Holstein Model — Paper Implementation Challenge#1524

Open
achebiyam wants to merge 7 commits intoClassiq:mainfrom
achebiyam:main
Open

GQSP-Based Hamiltonian Simulation for the Hubbard-Holstein Model — Paper Implementation Challenge#1524
achebiyam wants to merge 7 commits intoClassiq:mainfrom
achebiyam:main

Conversation

@achebiyam
Copy link
Copy Markdown

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

  • GQSP simulation verified on 5-qubit Hubbard-Holstein (overlap 0.9999999917)
  • Eigenbasis verification on full 8-qubit model (N_max=2, 41 Pauli terms)
  • Resource comparison: GQSP vs Suzuki-Trotter (orders 1, 2, 4) with depth and CX counts
  • Time-dependent physical observables (polaron dynamics, CDW order)
  • VQE comparison showing GQSP's advantage in systematic accuracy
  • Parameter regime study across coupling g, Hubbard U, phonon frequency ω
  • Documented Classiq LCU synthesis limitation at ≥16 Pauli terms

Primary reference

D. Motlagh and N. Wiebe, "Generalized Quantum Signal Processing",
PRX Quantum 5, 020368 (2024). arXiv:2308.01501

Notes

  • The notebook runs end-to-end on Google Colab with pip install "classiq[qsp]"
  • The .qmod file can be exported from the Classiq platform circuit link included in the notebook
  • The parameter sweep section uses analytical α estimates to avoid long Pauli decomposition runtimes

@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 16, 2026

🔥 New notebook just dropped!

@amir-naveh , @TomerGoldfriend — come check out this shiny new addition to our repo.

@achebiyam
Copy link
Copy Markdown
Author

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.

@TomerGoldfriend
Copy link
Copy Markdown
Member

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 write_qmod call.

@achebiyam
Copy link
Copy Markdown
Author

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 write_qmod call.

Thanks @TomerGoldfriend! The submitted notebook already uses show(qprog_gqsp)
instead of write_qmod, so no changes needed on that front. Happy to address
any other feedback from your review.

@@ -0,0 +1,1243 @@
{
Copy link
Copy Markdown
Contributor

@orsa-classiq orsa-classiq Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line #1.    !pip install "classiq[qsp]" keyrings.alt pennylane -q

remove any pennylane use from the notebook


Reply via ReviewNB

@@ -0,0 +1,1243 @@
{
Copy link
Copy Markdown
Contributor

@orsa-classiq orsa-classiq Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line #3.    import keyring

remove all keyring related stuff from the notebook


Reply via ReviewNB

@@ -0,0 +1,1243 @@
{
Copy link
Copy Markdown
Contributor

@orsa-classiq orsa-classiq Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line #2.    classiq.authenticate()

remove authentication from the notebook. It is a pre assumption for the notebook


Reply via ReviewNB

@achebiyam
Copy link
Copy Markdown
Author

Done. I removed pennylane, keyring, and authenticate. Also removed the VQE section which depended on pennylane. Happy to address any further feedback.

@orsa-classiq
Copy link
Copy Markdown
Contributor

@achebiyam
I'm sorry, it looks like almost the entire thing is generated by AI. Also the sectioning is weird and the explanations are not enough. If you want us to take a serious look at the notebook it needs a serious work from you. Take a look on other notebooks in the repo \ paper implementation project as an example.

@achebiyam
Copy link
Copy Markdown
Author

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.

Rework notebook style per reviewer feedback
@achebiyam
Copy link
Copy Markdown
Author

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!

@TomerGoldfriend
Copy link
Copy Markdown
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants