Tangential Schur and J-inner diagnostics¶
This algorithm page states what the implemented tangential-Schur utilities do in computational terms. For the mathematical background, see Tangential Schur, Pick matrices, and J-inner factors.
Problem represented by the API¶
RightTangentialSchurData stores finite interpolation conditions
The API supports one or more tangential columns at each point. A rank-one datum
uses u_i and v_i vectors; a higher-multiplicity datum uses matrices
U_i and V_i.
Pick certificate¶
right_tangential_pick_matrix builds the block matrix
is_tangential_schur_solvable checks the finite definite certificate
\(P\succeq 0\) by Hermitian eigenvalues. This is an offline data test; it
does not construct a streaming filter.
Residual checks¶
tangential_interpolation_residual and max_tangential_residual evaluate a
candidate constant matrix, a pointwise array of matrices, or a callable transfer
function against the data:
These helpers are useful in examples because they make the exact interpolation claim explicit.
Constant-solution sanity path¶
constant_schur_solution solves the special case
and verifies that the recovered constant matrix is contractive. This is not a general finite Schur synthesis algorithm. It is a stable baseline for tests and examples where the true solution is intentionally known.
J-inner factor diagnostics¶
For strict rank-one data, TangentialPotapovFactor forms
with
The implemented checks are:
PotapovProduct multiplies elementary factors that share the same signature
and checks the same boundary J-inner residual.
Potapov–Blaschke factors versus lossless filters¶
The scalar Blaschke factor
has unit modulus on the unit circle. The elementary Potapov factor replaces the
scalar 1 direction by a \(J\)-orthogonal projection onto the graph vector
\(\xi=[v;u]\). Therefore it is not just a plotting device: it is the
finite-dimensional object that makes the Schur step compatible with a
\(J\)-inner linear-fractional transformation.
The package uses this in a diagnostic role. OnlineMatrixLatticeAllPass is
the causal signal-processing runtime for square stable all-pass/lossless
filters. TangentialPotapovFactor is the interpolation-side object used to
check the \(J\)-inner algebra that underlies such lossless constructions.
The two are related through lossless/J-inner system theory, but the current
module does not automatically convert arbitrary tangential-Schur data into a
minimal causal matrix-lattice realization.
Schur parameters and scope versus manifold algorithms¶
Scalar lattice filters use reflection/PARCOR coefficients as Schur parameters. In tangential multivariable Schur algorithms, the chosen interpolation points, directions, and contractive values form chart coordinates for lossless systems. The Hanzon–Olivi–Peeters/Marmorat line uses recursive linear-fractional Schur steps and balanced state-space realizations to parametrize manifolds of fixed-degree stable all-pass systems.
This package does not implement that full recursive manifold algorithm. It implements the finite definite Pick certificate, constant-solution helper, and rank-one Potapov/J-inner factors. In other words, this is a tested baseline in the same mathematical language, not a complete chart-selection or balanced- realization solver.
RKHS interpretation of the Pick certificate¶
For a Schur function \(S\), positivity of
is the reproducing-kernel Hilbert-space statement behind the Pick test. The implemented right-tangential Pick matrix is the finite Gram matrix
Once \(V_i=S(z_i)U_i\) is substituted, this gives the code formula
This RKHS view is useful for interpreting numerical eigenvalues: a small minimum eigenvalue means the finite data are close to an extremal interpolation problem, not necessarily that a time-domain filter is unstable.
Deep verification suite¶
The accompanying verification page Tangential Schur verification map records the mathematical invariants used by the test suite. The most important checks are scalar Pick reduction, random constant MIMO contractions, diagonal MIMO as a direct sum of scalar Pick blocks, nonconstant scalar Schur data generated by a Blaschke factor, unitary congruence under tangential-column basis changes, near-boundary conditioning diagnostics, and J-inner residual checks for individual Potapov factors and products.
This is intentionally stronger than a single example. The package tests both positive and negative cases: feasible data, infeasible data, constant-compatible data, feasible-but-not-constant data, and invalid shapes/signatures.
Data-use status¶
These routines are offline finite-data diagnostics. They are not causal predictors and they do not consume a time stream. Their role in the package is to expose the Schur/Pick/J-inner structure that sits behind matrix-lattice and all-pass examples.
Verification examples¶
Tangential Schur Pick and J-inner diagnostics checks Pick PSD, constant-solution residuals, graph-vector annihilation, and J-inner boundary residuals.
Diagonal tangential Schur equals independent scalar Pick problems checks that diagonal MIMO tangential data reduce to independent scalar Pick problems.
Model-reduction stress-case connection¶
The tutorial MIMO model-reduction stress cases uses
these routines as a finite sampled certificate on MIMO model-reduction data. For
right-tangential samples F(z_i)u_i, the response is scaled by gamma until
the Pick matrix is positive semidefinite. This gives a Schur-feasibility
diagnostic for the sampled data and a tangential residual for reduced models.
The same page also plots H2/Markov error, finite-Hankel spectral-norm tail
error, and timing/backend information for the MIMO reducers. It is
deliberately described as a diagnostic layer, not as a complete
tangential-Schur model-reduction algorithm.
Benchmark connection¶
The benchmark MIMO tangential-Schur/Pick and J-inner benchmark measures the same finite objects at small MIMO sizes: Pick-matrix construction, PSD/eigenvalue checks, constant Schur recovery, Potapov product evaluation, and J-inner residuals. It also benchmarks the diagonal-MIMO reduction against independent scalar Pick blocks, so the performance page mirrors the mathematical sanity check used in the examples.