Software
Here is a list of the main open-source software packages that we develop and maintain:
QuantumAlgebra.jl
Quantum operator algebra in Julia. You can use it to automatically simplify expressions with non-commuting quantum operators (such as bosonic annihilation and creation operators), and through interoperation with Symbolics.jl or SymPy, it allows for flexible and powerful manipulation of the parameters in quantum terms.
laserfields (Fortran, Python, Julia)
A library to describe the time-dependent electric fields of a laser pulse. It is available in three different languages (Fortran 95, Python, and Julia) providing the same interface.
jftools
A collection of small useful helper tools for Python. It contains several modules such as a short iterative Lanczos time propagator, a Finite-Element Discrete Variable Representation (FEDVR) generator, utilities for unrolling phases and interpolating complex numbers, wrappers for shading colors and colored plots in Matplotlib, a tic/toc timer, and a hook to import Jupyter Notebooks like regular .py modules.
chiral-transfermatrix
A Python library using the transfer matrix approach for calculating scattering properties of multilayer structures including chiral materials, and allowing for the inclusion of arbitrary optical elements.
spectral-density-fit
A package to perform few-mode quantization for multiple emitters with arbitrary spectral densities.
petsc_timeprop
Time propagation of linear systems with PETSc.
MasterEquationSolve.jl
A Julia package for solving Lindblad master equations. It supports GPU acceleration through CUDA.
Feist Group