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