Skip to content

detrin/OpenQuantumSystems.jl

Repository files navigation

OpenQuantumSystems.jl

Join the chat at https://gitter.im/OpenQuantumSystems-jl/community Dev CI codecov

OpenQuantumSystems.jl is a numerical framework written in [Julia] that makes it easy to simulate various kinds of open quantum systems with main focus on quantum biology. It is inspired by the quantarhei and QuantumOptics.jl.

Installation

You can obtain OpenQuantumSystems using Julia's Pkg REPL-mode (hitting ] as the first character of the command prompt):

(v1.6) pkg> add OpenQuantumSystems

or with using Pkg; Pkg.add("OpenQuantumSystems").

Questions & Contributions

The package is still under development. If you have any questions or need help, see gitter channel and ask away. Also, contributions of any kind are always welcome! If you have any ideas for bug fixes, new features, optimisation or unit tests suggest it straight away or create a pull request.

Roadmap

    • Efficient representation of operators given Hamiltonians in different Hilbert bases. ✓
    • Vibrational basis, spin basis, exciton basis. ✓
    • Calculation of Franck-Condon factors for multidimensional linear harmonic oscilators. ✓
    • Schrodinger equation for solving dynamics. ✓
    • Solving dynamics for mixed states using exponentials, Liouville equation, QME. ✓
    • Aggregate with yml preferences.
    • Decomposition of mixed states into a linear combination of pure states using linear programming.
    • Loading Hamiltonian and data storage.
  1. Implementing Foerster and modified Redfield theories of excitation energy transfer.
    • GPU support for Schrodinger equation and possibly state decomposition.
    • Anharmonic oscillators.
    • Double excited states.

Branches status

Master

CI CI-nightly-julia CI-short Deploy Nightly

Develop

CI-short codecov

Credit

quantarhei - Concepts of aggregate construction, Hamiltonian of aggregate construction and trace over bath degrees of freedom were implemented in quantarhei in python.

QuantumOpticsBase.jl - Provides building elements for this package, such as the implementation of operators and superoperators (and many more).