Skip to content
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

Quantum Algorithm Zoo: Estimating Partition Functions #53

Open
orsa-classiq opened this issue May 9, 2024 · 2 comments
Open

Quantum Algorithm Zoo: Estimating Partition Functions #53

orsa-classiq opened this issue May 9, 2024 · 2 comments
Labels
experts This requires expertise in Classiq quantum algorithm zoo This issue, when completed, will be added to the quantum algorithm zoo quantum expert Requires proficiency in quantum computing

Comments

@orsa-classiq
Copy link
Collaborator

orsa-classiq commented May 9, 2024

In this issue, we will create an implementation of a quantum algorithm for estimating partition function. We will implement algorithm described in the paper: Quantum speedup of Monte Carlo methods.
This tutorial should follow the structure of the Deutsch Jozsa algorithm implementation.
Once finished, the implementation will be added to the Quantum Algorithm Zoo, and of course credit will be given to the implementor.

To complete this issue, follow these steps:

  1. Read the following paper: Quantum speedup of Monte Carlo methods
    ](https://arxiv.org/abs/1504.06987).
  2. Create a new jupyter notebook (.ipynb file). Use any jupyter editor (e.g. jupyter lab, google colab, etc).
  3. Use Classiq's SDK to create a simple implementation of the paper, and showcase the results. You can estimate the partition function of a chosen ferromagnetic model, or a different problem if you desire. If you have any implementation questions or challenges, the Classiq team will assist you, either on Github or in our slack community. Follow the Deutsch Jozsa algorithm implementation example for the structure of the notebook.
  4. Create a short mathematical explanation of the work. Jupyter notebooks support markdown cells, which can contain LaTeX. You can view the source or the superposition notebook to see how this is done. Chat GPT is an excellent LaTeX assistant.
  5. After creating the notebook, make sure you insert the write_qmod(model, "partition_function.qmod") line. Run the notebook, and you will automatically generate the .qmod file for this example.
  6. Make sure the notebook looks well, does not have any typos / mistakes, and is running properly.
  7. Follow the contribution guidelines to open a pull request. Submit the tutorial to the directory: classiq-library/community/advanced_examples/partition_function

If you have any questions or comments, you can ask them here in the issue, or in our slack community, and the Classiq team will be happy to assist.

Happy quantum coding!

@orsa-classiq orsa-classiq added experts This requires expertise in Classiq quantum expert Requires proficiency in quantum computing quantum algorithm zoo This issue, when completed, will be added to the quantum algorithm zoo labels May 9, 2024
@Mefisto04
Copy link

hey @orsa-classiq i want to work on this issue and want to add some contribution with my knowledge, can you please assign this issue to me

@amir-naveh
Copy link
Member

@Mefisto04 if you still want to work on this let us know. Otherwise this issue remains open. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experts This requires expertise in Classiq quantum algorithm zoo This issue, when completed, will be added to the quantum algorithm zoo quantum expert Requires proficiency in quantum computing
Projects
None yet
Development

No branches or pull requests

3 participants