I am submitting two files as a proposed addition to PlasmaPy:
gyrokinetic_dispersion_.py
A normalized gyrokinetic dispersion relation solver that computes complex frequencies (including damping) as a function of k_perp*ρi, βi, and τ = Ti / Te. The solver uses scipy.optimize.root, and includes a continuation routine to compute spectra over a k_perp grid.
gyrokinetic_dispersion_tests.py
A pytest suite that tests: the complex residual, convergence of the single-point solver, correct behavior of the continuation solver, and validation of unphysical inputs.
The goal is to incorporate this as a new module in plasmapy.dispersion.numerical (naming and exact location can be adjusted to fit PlasmaPy conventions).
Best regards,
Vincent