Finite-section AAK/Nehari reduction on a non-exact tail ======================================================= .. admonition:: Tutorial goal Use the high-level finite AAK/Nehari reducer on a stable tail with a small non-rational residual. .. note:: New to the terminology? See the :doc:`lattice DSP concept map <../../algorithms/concept_map>` and the :doc:`causality/data-use guide <../../theory/causality_and_data_use>` for how online, offline, block, and MIMO examples should be read. Context ------- Exact rational-tail validation is necessary but too clean. This tutorial adds a small deterministic residual to a stable rank-three tail and then calls the high-level ``finite_aak_reduce_tail`` helper. The helper evaluates candidate ranks, selects the first stable rational model that meets user-chosen tolerances, and attaches a finite Schmidt-pair certificate for the selected rank. The tutorial is intentionally finite-section. It shows how the current package behaves on non-exact data while keeping the scope finite-dimensional. Key idea and equations ---------------------- The observed tail is .. math:: \gamma_n = \sum_{i=1}^3 c_i p_i^n + \epsilon_n, \qquad |p_i|<1, where ``epsilon_n`` is a small deterministic residual. For each candidate rank ``r``, the helper reports .. math:: \sigma_{r+1},\qquad \frac{\|\gamma-\widehat\gamma_r\|_2}{\|\gamma\|_2},\qquad \frac{\|\gamma-g_r\|_2}{\|\gamma\|_2},\qquad \max_i |p_i|. The selected candidate is the first rank satisfying the supplied error and pole-radius tolerances. How to read the result ---------------------- Look for a selected stable rank, a rational error below tolerance, and Schmidt-pair residuals near numerical precision for the selected finite Hankel certificate. Run command ----------- .. code-block:: bash python examples/finite_aak_noisy_tail_demo.py Source code ----------- .. literalinclude:: ../../../examples/finite_aak_noisy_tail_demo.py :language: python :linenos: