Add Hamiltonian simulation with GQSP demo - #1815
Conversation
|
👋 Hey, looks like you've updated some demos! 🐘 Don't forget to update the Please hide this comment once the field(s) are updated. Thanks! |
Your preview is ready 🎉!You can view your changes here
|
drdren
left a comment
There was a problem hiding this comment.
Hi @Mostafa-Atallah2020 , thanks for this great demo contribution! I completed my review in addition to @nobese 's. Overall, it reads very well and truly shows the reader how to do Hamiltonian simulation with GQSP well. I added a conclusion section, whose skeleton code may still be tweaked, but at least the conclusion mirrored the introduction. Thanks again!
drdren
left a comment
There was a problem hiding this comment.
Hi @Mostafa-Atallah2020 , it's great to read your updated demo! I left some comments to shape this demo further.
|
Hi @nobese I am sharing the thumbnails pencil scratchs here as I don't know how to share them with the pennylane artist. they are not as pretty as the ones in the demos I wish they will be representative enough let me know if there is anything else
|
|
Thanks @Mostafa-Atallah2020! This is very helpful : ) I will share them with our designer today, there is typically a minimum 5 work day turnaround for thumbnails so I will send you the draft when it is ready. I will ping you if any questions come up! |



Title:
Hamiltonian simulation with Generalized Quantum Signal Processing
Summary:
The demo implements the time-evolution operator
exp(-iHt)withqml.GQSPin three steps. First it block-encodesHas a qubitization walkW(qml.Qubitization) whose eigenphases are+/- arccos(E/lambda). Then it chooses the polynomial via the Jacobi-Anger expansion, so that a single complex polynomial ofWequalsexp(-iHt)on the walk's eigenphases. Finally it runsqml.GQSPwith angles fromqml.poly_to_angles(..., "GQSP"), undoes the Laurentz^Kshift, and readsexp(-iHt)off the top-left block, verified againstscipy.linalg.expm.Relevant references:
Possible Drawbacks:
The worked example is a small 2-qubit Heisenberg-type Hamiltonian, chosen so the full
exp(-iHt)matrix can be formed and compared directly. The method itself is general; the small size is purely for an exact, fast check. For the same reason the demo reads the evolution from the dense circuit matrix ondefault.qubit, rather than running it as a sampled circuit, which is appropriate for a correctness-focused demo at this scale.Related GitHub Issues:
Closes #1807.
If you are writing a demonstration, please answer these questions to facilitate the marketing process.
GOALS: Why are we working on this now?
PennyLane ships
qml.GQSPand a GQSP resource-estimation demo, but there is no executable, end-to-end recipe takingqml.GQSPto its flagship application, Hamiltonian simulation. This demo fills that gap, showing the full runnable pipeline and verifying it against the exact evolution.AUDIENCE: Who is this for?
Graduate students and researchers comfortable with qubitization and QSP basics who want to run GQSP-based Hamiltonian simulation, not just estimate its cost.
KEYWORDS: What words should be included in the marketing post?
GQSP, Generalized Quantum Signal Processing, Hamiltonian simulation, qubitization, quantum signal processing, Jacobi-Anger, block encoding.
Which of the following types of documentation is most similar to your file?
(more details here)