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

Imaginary-time evolution using forward and backward real-time evolution with a single ancilla: First-quantized eigensolver algorithm for quantum chemistry #578

Open
NadavClassiq opened this issue Nov 5, 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
Contributor

NadavClassiq commented Nov 5, 2024

Imaginary-Time Evolution Using Forward and Backward Real-Time Evolution with a Single Ancilla: First-Quantized Eigensolver Algorithm for Quantum Chemistry

Abstract

Probabilistic Imaginary Time Evolution (PITE) is a quantum computing technique that derives from Imaginary Time Evolution methods, providing a pathway to finding the ground state of a quantum Hamiltonian. In this project, you will implement a version of PITE with two distinct time-discretization methods as proposed in Optimal scheduling in probabilistic imaginary-time evolution on a quantum computer by Hirofumi Nishi et al. The challenge involves analyzing the algorithm’s efficiency using Classiq’s optimization tools to compare the CX-gate counts of each method.

Project Overview

Challenge: Implement the PITE algorithm using Classiq to compare two different time-discretization schedules to achieve the effect of Imaginary Time Evolution. Evaluate the CX-gate counts for a sequence of 10 time steps while scaling the number of qubits for a specific Hamiltonian. Bonus: Estimate the ground state energy of the Hamiltonian with the quantum algorithm.

Objective

Execute the PITE algorithm on the following Ising Hamiltonian with ( N ) qubits:

$$\hat{H} = \sum_{i \ge j} h_{i,j} \, \hat{\sigma}_z^{(i)} \hat{\sigma}_z^{(j)} + \sum_{i=0}^{N-1} J_i \, \hat{\sigma}_x^{(i)}$$

where ( h_{i,j} = 0.5 ) and ( J_i = 0.7 ).

  1. Implement two different time-discretization schedules.
  2. Use Classiq’s optimization techniques to analyze the CX-gate counts for each method over 10 time-steps.
  3. Bonus: Estimate the ground state of the Hamiltonian.

Deliverables

  • Jupyter Notebook containing:
    • Quantum programs that implement both the approximated and exact circuits as described in the paper, for different Hamiltonians:
      • For the approximated circuit:
        1. Define the Hamiltonian ( \hat{H} ) as a list of Pauli strings.
        2. Use an appropriate Hamiltonian simulation method (such as unitary()) to perform the time evolution.
        3. Synthesize the quantum program and apply count_ops() to obtain CX-gate counts.
      • For the exact circuit:
        1. Obtain the Hamiltonian operator through matrix algebra.
        2. Use an appropriate Hamiltonian simulation method (such as unitary()) for time evolution.
        3. Synthesize the quantum program and apply count_ops() to obtain CX-gate counts.
    • CX-gate count analysis for both methods, represented graphically.
    • Bonus analysis of the lowest energy state obtained, including its measurement probability.

Follow the Contribution Guidelines in CONTRIBUTING.md. For assistance, you can reach out via GitHub or join our Slack Community.

Getting Started

  1. Review Paper: Study the foundational papers by Taichi Kosugi et al. and Hirofumi Nishi et al. on PITE and optimal scheduling methods for imaginary-time evolution.
  2. Set Up Environment: Create a new Jupyter Notebook and install the Classiq SDK; refer to the setup guide.
  3. Guiding Materials:

Implementation Steps

  1. Algorithm Coding:

    • Implement the PITE algorithm using Classiq SDK for both time-discretization methods.
    • Define the Hamiltonian ( \hat{H} ) as a list of Pauli strings and perform time evolution with unitary() or another Hamiltonian simulation method.
    • Document steps in markdown, following the Glued Trees Example.
    • For support, connect via GitHub or Slack.
  2. Mathematical Explanation:

    • Use markdown and LaTeX to provide theoretical explanations, key equations, and algorithm insights.
  3. Generate .qmod File:

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

    • Proofread for accuracy and ensure code correctness.
    • Use clear markdown formatting and a professional presentation.
  5. Submit Contribution:

    • Follow Contribution Guidelines.
    • Open a Pull Request in classiq-library/research/probabilistic_imaginary_time_evolution.
    • Include a summary of insights and results.

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 quantum intermediate Requires some basic knowledge in quantum computing Paper Implementation Project Implement a paper using Classiq labels Nov 5, 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