classiq-library icon indicating copy to clipboard operation
classiq-library copied to clipboard

Quantum Algorithm Zoo: Estimating Partition Functions

Open orsa-classiq opened this issue 1 year ago • 2 comments

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 avatar May 09 '24 08:05 orsa-classiq

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

Mefisto04 avatar Oct 07 '24 11:10 Mefisto04