-
Notifications
You must be signed in to change notification settings - Fork 863
Paper Implementation Project #801: A Quantum Algorithm for Solving Linear Differential Equations: Theory and Experiment #894
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
8b325dc
to
fb3a264
Compare
@NadavClassiq I've updated the PR according to the new guidelines provided. |
Hello @Barath-T! Thanks for the effort in implementing the paper using Classiq! In the meantime, please see the draft for the updated contribution guidelines here (a few additional files might be needed, but it only involved adding one line of code, it will be add to the main branch soon) Thanks again! I am looking forward to diving into your work! :) |
Hi @Barath-T! The Thanks! |
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
@Barath-T Please let me know after accommodating the above notes, and I will re-overview the notebook for final comments :) Thanks again for the efforts! |
Hi @Barath-T, I hope you are well! Best luck, and please let me know if we can do anything to support you. |
Thanks @NadavClassiq , Its almost done and will push it in few hours. |
2ea7d78
to
20ca3a1
Compare
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
...ion_project/quantum_algo_for_solving_linear_differential_equations/harmonic_oscillator.ipynb
Show resolved
Hide resolved
@@ -0,0 +1,784 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functionally this works, but you can speed it up with an ExecutionSession so you synthesize once and then just rebind t each run.
See the docs: https://docs.classiq.io/latest/user-guide/execution/ExecutionSession/?h=execution
And the QAOA MaxCut example (same concept): https://github.com/Classiq/classiq-library/blob/main/algorithms/qaoa/maxcut/qaoa_maxcut.ipynb
Also, you’re reusing i in both loops, which makes it hard to follow. After you integrate ExecutionSession, you can pull out the inner loop into its own cell and add a short Markdown explanation.
Seems redundant:
results = job.result() results = job.result_value()
Reply via ReviewNB
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @NadavClassiq ,
Execution parameters can figure in restricted contexts only as rotation angles in gate-level functions and as the exponent value of the power operation.
As we are building unitary i don't think we can get it as parameter.
Hello @Barath-T! Thanks for the updates, excellent work! We’re almost there. I have a few last notes and look forward to the final version. Once it’s merged, we can discuss sharing this great project with the community :) Also, this branch has a minor conflict in the timeout file, please rebase to resolve it. While you’re at it, please shorten the timeout now that the performance optimizations are in place (after adapting my new notes, it will improve performance). Please also press "resolve" after completing each note, or ask questions if needed. |
77fb673
to
a17fb03
Compare
A Quantum Algorithm for Linear Differential Equations: Theory and Experiment - Paper Implementation Project.
Closes #801
PR Description
Some notes
Please make sure that you placed the files in an appropriate folder
And that the files have indicative names.
Please note that Classiq runs automatic code linting, which may minorly alter some files.
pre-commit
, you may runpre-commit install
, and then at each commit, your files will be altered in a similar way