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

A Quantum Algorithm for Solving Linear Differential Equations: Theory and Experiment #566

Open
NadavClassiq opened this issue Oct 28, 2024 · 0 comments
Labels
experts This requires expertise in Classiq Paper Implementation Project Implement a paper using Classiq quantum intermediate Requires some basic knowledge in quantum computing

Comments

@NadavClassiq
Copy link
Contributor

NadavClassiq commented Oct 28, 2024

Quantum Algorithm for Solving Linear Differential Equations

Abstract

The advancements in quantum computing have opened pathways for innovative algorithms, including those that promise exponential speedups for solving complex equations. The focus of this project is to implement “A Quantum Algorithm for Solving Linear Differential Equations: Theory and Experiment” by Tao Xin et al. (2020), utilizing the Classiq platform.

Project Overview

Challenge: Implement the paper using Classiq, an end-to-end quantum software platform that leverages high-level functional design to simplify quantum algorithm implementation. Follow the Glued Trees example structure in the Classiq library.

Objective

Solve the harmonic oscillator equation:

$$y'' + \omega^2y = 0, y(0) = 1, y'(0) = 1$$

with $\omega = 1$. After solving, analyze the kinetic and potential energy in $[0,1]$, observe variations when adjusting function bounds (e.g., inplace_prepare_state()), and evaluate gate count optimization in width or depth.

Deliverables

Jupyter Notebook with full implementation and all relevant files. Follow the Contribution Guidelines in CONTRIBUTING.md. We are available here on GitHub and in our Slack Community if you have any further questions.

Getting Started

  1. Review Paper: Read and understand the paper’s theory, equations, and algorithm structure. Link to paper.
  2. Set Up Environment: Create a new Jupyter Notebook. Install Classiq SDK; setup guide.
  3. Guiding Materials:

Implementation Steps

  1. Algorithm Coding:

    • Implement the algorithm using Classiq SDK.
    • Document steps in markdown, following Glued Trees Example.
    • Reach out on GitHub or Slack for help.
  2. Mathematical Explanation:

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

    • Use write_qmod(model, "filename.qmod") in your code.
    • Verify notebook execution and .qmod file generation.
  4. Quality Check:

    • Proofread and verify code for errors.
    • Ensure professional formatting with comments and clear markdown.
  5. Submit Contribution:

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

Resources


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

@NadavClassiq NadavClassiq added Paper Implementation Project Implement a paper using Classiq experts This requires expertise in Classiq quantum intermediate Requires some basic knowledge in quantum computing labels Oct 31, 2024
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 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