All Projects → whaley-group-berkeley → qspectra

whaley-group-berkeley / qspectra

Licence: BSD-2-Clause license
Quantum simulations of nonlinear spectroscopy and dynamics for molecular aggregates

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to qspectra

Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (+1207.14%)
Mutual labels:  quantum-mechanics
spicyphysics
Sup bois, here's my work
Stars: ✭ 22 (+57.14%)
Mutual labels:  quantum-mechanics
QM-Simulator-1D
Interactive simulation of a quantum particle in 1D.
Stars: ✭ 69 (+392.86%)
Mutual labels:  quantum-mechanics
OpenJij
OpenJij : Framework for the Ising model and QUBO.
Stars: ✭ 57 (+307.14%)
Mutual labels:  quantum-mechanics
NumQM Basic
A mini-course offered to Undergrad physics students
Stars: ✭ 35 (+150%)
Mutual labels:  quantum-mechanics
marburg
physics meets neural networks
Stars: ✭ 93 (+564.29%)
Mutual labels:  quantum-mechanics
krotov
Python implementation of Krotov's method for quantum optimal control
Stars: ✭ 46 (+228.57%)
Mutual labels:  quantum-mechanics
ACTIN
ACTIN is a Python program to calculate stellar activity indices
Stars: ✭ 14 (+0%)
Mutual labels:  spectroscopy
hytools
Hyperspectral image processing library
Stars: ✭ 37 (+164.29%)
Mutual labels:  spectroscopy
Numerov
A python script that solves the one dimensional time-independent Schrodinger equation for bound states. The script uses a Numerov method to solve the differential equation and displays the desired energy levels and a figure with an approximate wave function for each of these energy levels.
Stars: ✭ 53 (+278.57%)
Mutual labels:  quantum-mechanics
qmflows
This library tackles the construction and efficient execution of computational chemistry workflows
Stars: ✭ 35 (+150%)
Mutual labels:  quantum-mechanics
gleam
Galaxy Line Emission & Absorption Modeling
Stars: ✭ 23 (+64.29%)
Mutual labels:  spectroscopy
ChiantiPy
ChiantiPy is a python package to calculate the radiative properties of astrophysical plasmas based on the CHIANTI atomic database
Stars: ✭ 53 (+278.57%)
Mutual labels:  spectroscopy
mbsolve
An open-source solver tool for the Maxwell-Bloch equations.
Stars: ✭ 14 (+0%)
Mutual labels:  quantum-mechanics
molgw
Accurate many-body perturbation theory calculations of the electronic structure of molecules and clusters
Stars: ✭ 34 (+142.86%)
Mutual labels:  quantum-mechanics
miniqubit
Quantum emulator of the IBM Quantum experience
Stars: ✭ 24 (+71.43%)
Mutual labels:  quantum-mechanics
Qu.js
Quantum Computing for Humans!
Stars: ✭ 15 (+7.14%)
Mutual labels:  quantum-mechanics
maxwellbloch
A Python package for solving the coupled Maxwell-Bloch equations describing the nonlinear propagation of near-resonant light through thermal quantised systems such as atomic vapours.
Stars: ✭ 23 (+64.29%)
Mutual labels:  quantum-mechanics
PandExo
A Community Tool for Transiting Exoplanet Science with the JWST & HST
Stars: ✭ 23 (+64.29%)
Mutual labels:  spectroscopy
Schroedinger
A Schroedinger Equation solver in C++, with flexible basis definition
Stars: ✭ 31 (+121.43%)
Mutual labels:  quantum-mechanics

QSpectra: Nonlinear Spectroscopy for Molecular Aggregates

QSpectra is a Python package designed for fast and flexible calculations of non- linear spectroscopy signals on molecular aggregates, such as photosynthetic light-harvesting complexes. The focus is on solving approximate models of electronic dynamics under known effective Hamiltonians as open quantum systems.

The core idea is a dynamical model interface which allows for flexible composition of different dynamical models with different spectroscopy methods, as long as the equation of motion is a linear function of the system Hamiltonian.

To enable efficient calculations, all simulations are performed under the rotating wave approximation. Furthermore, because the effective Hamiltonians conserve the number of electronic excitations, each model (when practical) only propagates within the necessary fixed subspaces of Liouville subspace.

Although the QSpectra framework is written in Python, we expect that eventually submodules for new dynamical models may be written in a compiled language such as Fortran or C when if necessary for satisfactory performance.

Note (November 12, 2021): qspectra is no longer maintained. If you find it useful in your research, I encourage you to fork it on GitHub.

Install

First, make sure you're running Python 3 and have recent versions of numpy and scipy installed.

Then, clone the git repository and use pip:

git clone https://github.com/whaley-group-berkeley/qspectra.git
pip install -e qspectra

I highly recommend using -e flag, which keeps the install directory in-place for local development.

To view the example notebooks, you need jupyter. To run the unit tests, you need nosetests.

Features

  • Hamiltonians:
    • Electronic systems (under effective Hamiltonians within the Heitler-London approximation)
    • Vibronic systems (electronic systems with explicit vibrational modes)
  • Dynamical models:
    • Unitary
    • Redfield theory (secular/non-secular)
    • Zeroth order functional expansion (ZOFE)
    • Hierarchical equations of motion (HEOM).
    • Time non-local ME (special case of HEOM), on the roadmap
  • Spectroscopy/simulation:
    • Free evolution (no field)
    • Equations of motion including fields, such as:
      • The density matrix following pump pulses
      • Equation-of-motion phase-matched-approach (EOM-PMA), in progress
    • Linear response based methods, such as:
      • Absorption and emission spectra
      • Impulsive probe pulses
    • Third-order response functions (in particular, for 2D spectroscopy)

Examples

Example notebooks demonstrating the features of QSpectra are included in the "examples" directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].