pyFDN.is_uniallpass#
- pyFDN.is_uniallpass(A, B, C, D, tol=1e-09)[source]#
Test whether the FDN is uniallpass (lossless with a diagonal Lyapunov matrix).
See Michaletzky, G. Factorization of discrete-time all-pass functions; and “Allpass Feedback Delay Networks” by Sebastian J. Schlecht.
- Parameters:
A (array-like) – Delay state-space matrices (feedback, input gain, output gain, direct).
B (array-like) – Delay state-space matrices (feedback, input gain, output gain, direct).
C (array-like) – Delay state-space matrices (feedback, input gain, output gain, direct).
D (array-like) – Delay state-space matrices (feedback, input gain, output gain, direct).
tol (float) – Tolerance for zero and diagonal checks.
- Return type:
- Returns:
is_a (bool) – True if the system is uniallpass.
P (ndarray) – Solution of discrete Lyapunov A P A’ - P + B B’ = 0; diagonal if uniallpass.