Crossings, coupling & interlacing

Identity-direction slices and root tracks.

Root geometry of det(xI + yD + zB) along L(s) = (s,y,z). The sliders set y and z; s is the univariate coordinate and B is the adjacency matrix of the four-vertex path.

p(s) = P(s,y,z) = det(sI + yD + zB) · D = diag(−3,−1,1,3)

Root tracks & selected slice

Tracks. At fixed z, the left panel follows the negative eigenvalues of A(y,z) = yD + zB as y varies. The vertical marker selects y. Colors follow ordered root ranks for z > 0 and diagonal branches at z = 0.

Polynomial. The right panel shows p(s) at the selected y and z: circles mark its roots, diamonds those of p′, and the dashed curve is p′/4. Increasing z couples the diagonal branches, replacing their crossings with avoided crossings.

Root tracks across y

Horizontal: y · vertical: root position s · circles select one line · click or drag to move it ·

Polynomial roots◇ Derivative roots

The selected univariate slice

Horizontal: s · vertical: polynomial value · roots lie on the zero line

P(s,y,z)Dashed: ∂P/∂s ÷ 4● roots · ◇ derivative roots
Root geometry
Smallest adjacent gap
Minimum gap between consecutive sorted slice roots.
Derivative interlacing
Weak interlacing, with multiplicities included.
Coupling, interlacing & exact coefficients


        

At z = 0, p(s) = (s² − y²)(s² − 9y²). At y = z = 0 this becomes s⁴, with derivative 4s³. For z > 0 the symmetric tridiagonal pencil is irreducible and has simple spectrum. Rolle's theorem gives r₁ ≤ d₁ ≤ r₂ ≤ d₂ ≤ r₃ ≤ d₃ ≤ r₄ for the sorted polynomial and derivative roots; the inequalities are strict for distinct roots.

FiniteFree constructs the exact pencil determinant and calls restrict_line([0,y,z],[1,0,0]) on the rational control grid. Univariate derivatives are checked against restricted multivariate partials. Embedded coefficients are exact; browser eigenvalues, root positions and residuals use Float64 and supply no general hyperbolicity or stability certificate. Regenerate with PYTHONPATH=. python examples/interactive_geometry.py.