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

Estimating Energies with the Rodeo Algorithm #576

Open
NadavClassiq opened this issue Nov 4, 2024 · 0 comments
Open

Estimating Energies with the Rodeo Algorithm #576

NadavClassiq opened this issue Nov 4, 2024 · 0 comments
Labels
Paper Implementation Project Implement a paper using Classiq quantum intermediate Requires some basic knowledge in quantum computing

Comments

@NadavClassiq
Copy link
Collaborator

NadavClassiq commented Nov 4, 2024

Quantum Algorithms: Estimating Energies with the Rodeo Algorithm

Abstract

Quantum simulations on noisy intermediate-scale quantum (NISQ) devices are valuable tools for advancing research in fields such as quantum chemistry and materials science. The Rodeo Algorithm for Quantum Computing by Kenneth Choi et al. offers a quantum algorithm tailored for estimating the energy spectrum of a quantum system, with efficient eigenstate preparation and exponential speedup over traditional methods like Quantum Phase Estimation.

Project Overview

Challenge: Implement the Rodeo Algorithm on the Classiq platform to estimate eigenenergies of a Hamiltonian using three distinct evolution methods: exponential_with_depth_constraint(), first-order Suzuki-Trotter, and unitary evolution functions. Follow the Glued Trees example structure as a reference for organizing the notebook.

Objective

Estimate eigenenergies of the Hamiltonian:

$$H_{obj} = J \sum_{\langle j,k \rangle} \vec{\sigma}_j \cdot \vec{\sigma}_k + h \sum_j \sigma_z^j$$

with $J=1.0$ and $h=3.0$, where $\langle j,k \rangle$ represents nearest neighbors and $\sigma$ are the Pauli matrices. The energy search interval is $E \in [-13, -9]$ a.u., using an initial alternating tensor product state. For more info, please refer to the article.

  1. Set $N = 5$ qubits.
  2. Apply three evolution methods:
    • exponential_with_depth_constraint()
    • First-order suzuki_trotter expansion
    • Unitary evolution functions
  3. Quantitatively analyze the CX-gate counts for each method and compare results graphically.

Deliverables

  • Jupyter Notebook with:
    • Quantum programs implementing the Rodeo Algorithm for each evolution method.
    • Estimated eigenenergies of the Hamiltonian for each approach.
    • Graphical analysis of CX-gate counts.

Follow the Contribution Guidelines in CONTRIBUTING.md. For any questions, contact us on GitHub or in our Slack Community.

Getting Started

  1. Review Paper: Study the theory and methodology of the Rodeo Algorithm. Link to paper.
  2. Set Up Environment: Create a new Jupyter Notebook and install Classiq SDK; refer to the setup guide.
  3. Guiding Materials:

Implementation Steps

  1. Algorithm Coding:

    • Implement the Rodeo Algorithm with each evolution method using Classiq SDK.
    • Document your steps in markdown, referencing the Glued Trees Example.
    • Reach out on GitHub or Slack for support.
  2. Mathematical Explanation:

    • Provide theoretical background, key equations, and algorithm insights using markdown and LaTeX.
  3. Generate .qmod File:

    • Use write_qmod(model, "filename.qmod") to save your models.
    • Confirm successful execution and .qmod file generation.
  4. Quality Check:

    • Proofread and verify code functionality.
    • Ensure clear markdown formatting and professional presentation.
  5. Submit Contribution:

    • Follow Contribution Guidelines.
    • Open a Pull Request in classiq-library/research/rodeo_algorithm_energy_estimation.
    • Include a summary and any key insights from your implementation.

Resources


Note: No strict deadline. Confirm with us if you start this task so we can assign it to you.

Good Luck!

@NadavClassiq NadavClassiq added Paper Implementation Project Implement a paper using Classiq quantum intermediate Requires some basic knowledge in quantum computing labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Paper Implementation Project Implement a paper using Classiq quantum intermediate Requires some basic knowledge in quantum computing
Projects
None yet
Development

No branches or pull requests

1 participant