pyFDN.is_paraunitary#

pyFDN.is_paraunitary(ir, tol=1e-09)[source]#

Test whether a MIMO impulse response is paraunitary (lossless).

For real IR matrix H(t), checks that sum_t H(t) H(t)’ = I (output correlation) and sum_t H(t)’ H(t) = I (input correlation).

Parameters:
  • ir (ndarray, shape (ir_len, n_out, n_in)) – Impulse response [time, output, input].

  • tol (float) – Tolerance for identity check.

Return type:

tuple[bool, ndarray, float]

Returns:

  • is_p (bool) – True if paraunitary.

  • test_matrix (ndarray) – Output correlation matrix (n_out, n_out); should be identity.

  • max_off_diagonal (float) – Max absolute off-diagonal value in test_matrix.