A Python toolkit for solving the generalized Lugiato–Lefever equation

A Python package for the calculation of spectrograms with optimized time and frequency resolution for application in the analysis of numerical simulations on ultrashort pulse propagation is presented. Gabor’s uncertainty principle prevents both resolutions from being optimal simultaneously for a given window function employed in the underlying short-time Fourier analysis. Our aim is to yield a time– frequency representation of the input signal with marginals that represent the original intensities per unit time and frequency similarly well.  As a use-case, we demonstrate the implemented functionality for the analysis of simulations on ultrashort pulse propagation in a nonlinear waveguide.

Platform: Python, using the functionality of numpy, scipy and matplotlib.

Read more and download the code from here:  
https://github.com/ElsevierSoftwareX/SOFTX_2019_130.git

We prepared a Code Ocean capsule, allowing to directly run and modify an exemplary simulation without the need to create a local copy of the repository under the link:
https://codeocean.com/capsule/7823161/tree

The work is done by the team of Prof. Ayhan Demircan

Reference

[1] Melchert, Oliver and Roth, Bernhard and Morgner, Uwe and Demircan, Ayhan.  OptFROG — Analytic signal spectrograms with optimized time–frequency resolution. SoftwareX 10 (2019): 100275.