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
|
nobese
left a comment
There was a problem hiding this comment.
Hi again @Mostafa-Atallah2020 ! Thanks for your prompt implementation of my previous comments, things are on the right track! I left a few more thoughts, let me know if you have any questions and feel free to ping me when you are done!
nobese
left a comment
There was a problem hiding this comment.
A few more small comments, @Mostafa-Atallah2020 , we're almost there!
One suggestion that I have is a slight modification to the title, I think the "how to" will flag this demo among similar style demos that are available. Search "how to" on pennylane.ai and view the demos that come up if you are curious!
nobese
left a comment
There was a problem hiding this comment.
This looks great, @Mostafa-Atallah2020, thanks for all your edits! There are a few logistics on our end that precede merging to the website, but I will get the ball rolling and keep you updated :)
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)