Giter VIP home page Giter VIP logo

ppravatto / kramers-with-annealers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jcopenh/quantum-chemistry-with-annealers

1.0 0.0 0.0 50 KB

Method to calculate the first non-vanishing eigenvalue of the Fokker-Planck-Smoluchowski operator, associated with a symmetric bistable system, using a quantum annealer.

Python 93.51% Jupyter Notebook 6.49%
quantum-annealing quantum-computing stochastic-processes

kramers-with-annealers's Introduction

Kramers with Annealers

This repository contains code to calculate the first non-vanishing eigenvalue of the Fokker-Planck-Smoluchowski operator, associated with a symmetric bistable system, using a quantum annealer.

The repository contains code to solve the problem using both the XBK mapping strategy and the Quantum Annealing Eigensolver protocol.

The XBK software and the related tools are contained in the XBK_method folder. The code employs a binary mapping to encode the basis-set. Once the Pauli decomposition of the operator has been obtained the XBK method (R. Xia et al, J. Phys. Chem. B, (2018), 122, 13, 3384โ€“3395) is used to map the problem onto the quantum annealer. The code employed is largely adapted from the original implementation "Quantum-Chemistry-with-Annealers" by J.Copenhaver, associated with the paper J. Copenhaver et al, J. Chem. Phys., 154, 034105 (2021).

The QAE software and the related tools are instead contained in the QAE_method folder. The codes has been implemented in house and is based on the protocol described in the paper A. Teplukhin et al, J. Chem. Theory Comput., (2019), 15, 4555โˆ’4563

The relation existing between the Fokker-Planck-Smoluchowski operator and the quantum Hamiltonian is discussed, concerning its quantum computational applications, in the paper Pierpaolo Pravatto et al, New J. Phys., (2021), 23 123045.

Requirements

We strongly advise the user to install all the required dependencies and run the scripts using a virtual environment like anaconda3.

Running a calculation

Both codes are accompanied by a engine.py script that allows the user to run multiple annealing simulations.

The basic syntax for the XBK code is:

python3 engine.py <hamiltonian> <rvalue> <samples>

where <hamiltonian> is the text file containing the "hamiltonian" matrix, <rvalue> represents the value of r to be used in the XBK method, while <samples> represents the number of independent simulations to accumulate. The program will output a stat_r<rvalue>.txt containing the eigenvalues computed by the independent annealing runs.

The basic syntax for the XBK code is:

python3 engine.py <hamiltonian> <K> <samples> <lambda-max>

where <hamiltonian> is the text-file containing the hamiltonian matrix, <K> the value of K variables to be used in the QAE mapping, <samples> number of independent simulations to accumulate and <lambda-max> the maximum value of lambda to be explored.

An updated list of commands accepted by the engine.py scripts can be printed using the -h or --help flags.

The output files from one or more XBK annealing runs can be analyzed using the analyze.py and multianalyze.py scripts contained in the tools directory. A description of the usage of the analysis scripts can be examined using the -h or --help flags.

kramers-with-annealers's People

Contributors

ppravatto avatar jcopenh avatar

Stargazers

Artag Jargalsaikhan 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.