pyFDN.complete_fdn#
- pyFDN.complete_fdn(A, k=None, preprocessing='optimize', q=1.0, tol_one=1e-08, psd_clip=0.0, return_similarity=True)[source]#
Compute a completion (B,C,D) for given A.
- Parameters:
A (
ndarray) – (N,N) feedback matrixk (
int|None) – number of IO channels. If None -> full MIMO (k=N).preprocessing (
str) – “none” -> X = I “optimize” -> find diagonal similarity X=diag(x) that makes G(u) PSD with rank ~ k.q (
float|ndarray) – RHS for diagonal similarity solve (scalar or (N,) vector).tol_one (
float) – tolerance for ‘singular value equals 1’ decisions in general MIMO.psd_clip (
float) – eigenvalue clip (>=0) for PSD square roots in full MIMO completion.return_similarity (
bool) – if True, returns (B,C,D,x). else (B,C,D).
- Returns:
B, C, D, x (if return_similarity), where x is diagonal of X used (x=ones if none).