tdcpy.gamma module#

implementation of tds_gamma_r

tdcpy.gamma.gamma(tds, r, **kwargs)#

Computes gamma(r) of given time-delay system

Parameters:
  • tds (TDS) – time-delay system

  • r (float) – point from complex plane

  • **kwargs – TODO

Returns:

  • gamma_r (float): gamma(r) of given TDS

  • metadata (GammaInfo): metadata, containing:

    TODO

Return type:

tuple containning

Computation consists of the follwing steps:
  1. obtain associated delay difference equation (DIFF)

  2. normalize DIFF, where DIFF takes form:

    0 = x(t) + DD[0] * x(t-hDD[0]) + … + DD[m-1]*x(t-hDD[m-1]), (1)

  3. solve optimzation problem, gamma(r) of (1) is then given by maximum of:

    rho( SUM for all k DD[k]*exp(-r*hDD[k])*exp(1j*theta[k]) )

    where rho(.) is spectral radius of its matrix argument, and theta is from [0, 2*pi)^m.

    The optimization problem is solved via Dekker-Brent method (aka predictor - corrector), see [1].

[1] Atkinson, Kendall. An introduction to numerical analysis.

John wiley & sons, 1991.

Notes

  1. this problem scales very badly with number of delays as the predictor

    searches through the grid whichs dimensionality corresponds to number of delays of normalized DIFF