Root tracks across y
Horizontal: y · vertical: root position s · circles select one line · click or drag to move it ·
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.
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.
Horizontal: y · vertical: root position s · circles select one line · click or drag to move it ·
Horizontal: s · vertical: polynomial value · roots lie on the zero line
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.