finesse.cymath

Fast C functions providing common mathematical routines for the Cython level code in Finesse.

Note that the functions and classes provided by this library are generally only for developers or those extending the code via additional Cython extensions.

Unless otherwise stated, the functions here do not work on numpy.ndarray objects. Instead, they operate on scalar C types as they are primarily intended for use in low-level code.

Sub-modules

finesse.cymath.cmatrix

Sparse matrix objects with factorisation and solving routines performed via KLU.

finesse.cymath.complex

Functions operating on complex numbers of type double complex.

finesse.cymath.gaussbeam

Low-level calculations for Gaussian beam properties.

finesse.cymath.homs

Fast computations of Higher-Order Mode related properties.

finesse.cymath.math

Standard mathematical functions for non-complex calculations.

finesse.cymath.sparsemath

Sparse matrix math tools.

finesse.cymath.ufuncs

Numpy ufuncs for custom functions that support numeric and symbolic arguments.

finesse.cymath.zernike

Math functions for computing Zernike polynomial information.