qpmr.distribution package#

Submodules#

qpmr.distribution.envelope_curve module#

Envelope curve#

TODO

qpmr.distribution.envelope_curve.theta_grid_generator(m, n_grid_points=10)#

Generator for m-dimensional space grid points in [0, 2*pi)^{m}

Parameters:
  • m (int)

  • n_grid_points (int)

qpmr.distribution.envelope_curve.envelope_real_axis_crossing(coefs, delays)#

qpmr.distribution.psi_curve module#

qpmr.distribution.psi_curve.psi_comensurate_0_kappa(coefs, n_k, grid_points=20)#

TODO

Parameters:

grid_points (int)

qpmr.distribution.psi_curve.psi_commensurate_kappa(coefs, n_k, base_delay, si, grid_points=20)#
Parameters:

grid_points (int)

qpmr.distribution.spectral_abscissa module#

qpmr.distribution.spectral_abscissa.safe_upper_bound_diff(coefs, delays, **kwargs)#

TODO

qpmr.distribution.spectrum_distribution_diagram module#

Spectrum distribution diagram#

class qpmr.distribution.spectrum_distribution_diagram.SpectrumDistributionDiagramMetadata#

Bases: object

P_theta: ndarray[tuple[Any, ...], dtype[_ScalarT]] = None#
P_degree: ndarray[tuple[Any, ...], dtype[_ScalarT]] = None#
mask: ndarray[tuple[Any, ...], dtype[_ScalarT]] = None#
property L_theta: ndarray[tuple[Any, ...], dtype[_ScalarT]]#
property L_degree: ndarray[tuple[Any, ...], dtype[_ScalarT]]#
qpmr.distribution.spectrum_distribution_diagram.distribution_diagram(coefs, delays, **kwargs)#

Creates spectrum distribution diagram for quasipolynomial

Parameters:
  • TODO

  • qp (QuasiPolynomial) – class representing quasipolynomial

  • assume_minimal (bool) – wheter to convert qp to minimal form before creating distribution diagram, default False

Returns:

tuple containing

  • thetas (ndarray): max(delays) - delays in ascending order

  • degrees (ndarray): according degree of polynomial

  • mask (ndarray): mask determining concave envelope

Return type:

tuple[ndarray[tuple[Any, …], dtype[_ScalarT]], ndarray[tuple[Any, …], dtype[_ScalarT]], ndarray[tuple[Any, …], dtype[_ScalarT]]]

qpmr.distribution.zero_chains module#

Algorithm for detecting chains of zeros

qpmr.distribution.zero_chains.chain_asymptotes(coefs, delays, **kwargs)#

Calculates exponentials of the root chains

Parameters:
  • coefs (array) – matrix definition of polynomial coefficients (each row represents polynomial coefficients corresponding to delay)

  • delays (array) – vector definition of associated delays (each delay corresponds to row in coefs)

  • **kwargs

    assume_compressed (bool): set to True if quasipolynomial already

    in compressed form, default False

    abs_wk_decimals_round (int): absolute value of wk is rounded to this

    amount of decimals before selecting unique values, default 10

Returns:

  • mi_vec (array): segment slopes

  • abs_omega (list of array): corresponding unique absolute values

    of roots

Return type:

tuple containing

qpmr.distribution.zero_chains.chain_asymptotes2(coefs, delays, **kwargs)#

Calculates exponentials of the root chains

Parameters:
  • coefs (array) – matrix definition of polynomial coefficients (each row represents polynomial coefficients corresponding to delay)

  • delays (array) – vector definition of associated delays (each delay corresponds to row in coefs)

  • **kwargs

    assume_compressed (bool): set to True if quasipolynomial already

    in compressed form, default False

    abs_wk_decimals_round (int): absolute value of wk is rounded to this

    amount of decimals before selecting unique values, default 10

Returns:

  • mi_vec (array): segment slopes

  • abs_omega (list of array): corresponding unique absolute values

    of roots

Return type:

tuple containing

Module contents#