Giter Club home page Giter Club logo

abstract-oscillators's Introduction

Development-of-Novel-Quantum-Algorithms

Womanium Quantum+AI 2024 Projects

Project Information:

Team Size:

  • Team size = 3

Project Description:

  • Click here to view the project description.

Project Submission:

Hamiltonian Simulation: Simulating Coupled Harmonic Oscillators

In recent years, Quantum Computing has made remarkable strides, with increasingly powerful quantum computers being developed annually. Today, machines with hundreds of qubits can execute quantum algorithms with circuit depths reaching into the thousands, all while preserving a significant signal. However, a key challenge within the quantum computing ecosystem is the development of efficient and innovative quantum algorithms that are not only practical but also offer exponential advantages over classical methods.

One of the most promising areas of research in quantum algorithms is Hamiltonian simulation, particularly in simulating classical coupled harmonic oscillators. Our project aims to bridge the gap between theory and practice by translating the theoretical framework presented in the 2023 study by R. Babbush, D. W. Berry, R. Kothari, R. D. Somma, and N. Wiebe, Exponential Quantum Speedup in Simulating Coupled Classical Oscillators, published in Phys. Rev. X 13, 041041 (2023), into a practical implementation compatible with current quantum hardware and software capabilities.

The objective of our Womanium Quantum+AI 2024 Final Project is to implement, optimize, and evaluate the simulation of classical coupled harmonic oscillators as detailed in the study. You can access the original paper here.

Installation and Usage Tips

Please fork the repository and clone the fork to your local device. Certain files use modules that contain helper functions.

The project uses the following packages: classiq (0.43.3), scipy, numpy, matplotlib, tqdm, qutip (optional).

For installation run the following on codecell of jupyter notebook

!pip install <package-name>

Please input your ibm access_token in the code files that attempts to run Quantum Programs on real IBM hardware. In case you encounter inavlid_format error, rerun the code cells again.

Team Information:

Team Member 1:

  • Full Name: Kerem Yurtseven
  • Womanium Program Enrollment ID: WQ24-3PeZJI8Y4cyXsA6

Team Member 2:

  • Full Name: Cristina Radian
  • Womanium Program Enrollment ID: WQ24-dGX88XTBPxBKLvW

Team Member 3:

  • Full Name: Viraj Daniel DSouza
  • Womanium Program Enrollment ID: WQ24-OCerzcQy5eMOkUZ

Project Solution:

Table of Contents

  1. Implementation of toy problem (the simplest possible cases) that covers:
  • Basic theoretical details
  • Encoding of the problem. (Preprocessing)
  • The key algorithmic building blocks
  • The readout and post-processing.

Description

Refer here and here for two different simulations of 2 simplest cases (toy problems). Benchmarking using classical numerical methods has also been done.

The implementation is fairly scalable, and it is straightforward to extend it to a more complicated scenario.

  1. Enlarging the problem for a more complicated scenario

In this step, an actual problem from the paper has been implemented. We attempt to solve Problem 2 of estimating kinetic energy of system of Coupled Oscillators. Our codes are general, and for demonstration we simulate for $8$ masses. Please note that the simulation time on simulators is long for $N=2^3=8$. Refer here for Kinetic energy estimation for $N=8$ system. The results are benchmarked using classical numerical methods.

A sneak peak into our simulator based results for this problem.

Description

We have also used advanced methods of Hamiltonian simulation through block-encoding based methods. We tried Qubitization methodology (which work very well for our toy cases) which can be found here, as well as the QSVT methodology for Hamiltonian simulation that can be found here.

The execution on real hardware has been done for Trotter based methodology for resource estimation and hardware comparision and Qubitization based methodology for simple cases (to avoid lengthy running times), which can be found here and here.

  1. Optimization of the solution found in step 1 for the most adequate hardwares

Resources estimation of the problem in step 2 in terms of circuit depth, circuit width and number of 2-qubit gates has been made and compared across several IBM based hardwares. We have tried to optimize our quantum programs for IBM based hardware executions, for both Qubitization here and Trotter methods here.

Final Deliverables:

  • Slides that summarize the work. This can be accessed here
  • The .qmod and .qprog files for each step. This can be found in the folder named QMOD Files and QPROG Files respectively.
  • The Python Jupyter notebooks with elaborate details for each step. This can be found here.

Contributing

If you wish to contribute to this repository, please fork the repository, make your contributions in your fork, and submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Bibliography:

  1. R. Babbush, D. W. Berry, R. Kothari, R. D. Somma, and N. Wiebe, Exponential Quantum Speedup in Simulating Coupled Classical Oscillators, published in Phys. Rev. X 13, 041041 (2023), https://doi.org/10.1103/PhysRevX.13.041041, link to paper
  2. G.H. Low, I.L. Chuang, Hamiltonian simulation by Qubitization, published in Quantum, 3 (2019), p. 163, https://doi.org/10.22331/q-2019-07-12-163, link to paper
  3. András Gilyén, Yuan Su, Guang Hao Low, and Nathan Wiebe. 2019. Quantum singular value transformation and beyond: exponential improvements for quantum matrix arithmetics. In Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing (STOC 2019). Association for Computing Machinery, New York, NY, USA, 193–204. https://doi.org/10.1145/3313276.3316366, link to paper
  4. M. Szegedy, "Quantum speed-up of Markov chain based algorithms," In 45th Annual IEEE symposium on foundations of computer science, pages 32–41, 2004, link to paper
  5. Classiq Github Hamiltonian Qubitization
  6. Classiq Github Glued Trees
  7. Classiq documentation

Acknowledgments

Project Presentation Deck: link here

Please find our Project presentation file here

abstract-oscillators's People

Contributors

keremyurtseven avatar virajd98 avatar crad23 avatar varary73 avatar womanium-quantum avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.