Skip to content

Prove closed spectral conditions pass to matrix limits - #415

Merged
PerAlexandersson merged 1 commit into
mainfrom
proof/spectrum-closed
Aug 22, 2026
Merged

Prove closed spectral conditions pass to matrix limits#415
PerAlexandersson merged 1 commit into
mainfrom
proof/spectrum-closed

Conversation

@PerAlexandersson

Copy link
Copy Markdown
Owner

The "root continuity" input for #394, in a form that avoids multiset root
topology and Rouché entirely.

RealRooted/Mathlib/LinearAlgebra/Matrix/SpectrumClosed.lean:

  • tendsto_det — determinant continuity along entrywise-converging sequences;
  • le_norm_eval_of_forall_le_norm_sub — a monic p : ℂ[X] whose roots avoid
    the ε-ball around μ has ε ^ natDegree ≤ ‖p.eval μ‖;
  • roots_mem_of_tendsto_evalroots of a limit polynomial stay in any
    closed set containing the roots along the sequence
    . Elementary
    contradiction: bounded below by εⁿ vs converging to 0;
  • charpoly_roots_mem_of_tendsto — matrix form via eval_charpoly;
  • charpoly_roots_nonneg_real_of_tendstoreal nonnegative spectrum passes
    to entrywise limits of real matrices
    .

Consequence for #394: full Gantmacher–Krein now reduces to one remaining
statement — Whitney density (every TN matrix is an entrywise limit of matrices
with real nonnegative spectrum; TP or primitive-compound approximants suffice,
whose spectra are covered by #414).

Sorry-free; full library builds (9022 jobs).

🤖 Generated with Claude Code

Adds RealRooted/Mathlib/LinearAlgebra/Matrix/SpectrumClosed.lean:
- `tendsto_det`: the determinant is continuous along entrywise-converging
sequences (permutation expansion, algebra of limits);
- `le_norm_eval_of_forall_le_norm_sub`: a monic complex polynomial whose
roots avoid the epsilon-ball around mu satisfies
`eps ^ natDegree <= ||p.eval mu||` (linear factorization over C);
- `roots_mem_of_tendsto_eval`: roots of a limit polynomial stay in any
closed set containing the roots along the sequence (constant degree,
pointwise evaluation convergence) -- no multiset root topology, no
Rouche: if all roots along the sequence avoided an epsilon-ball around a
limit root mu, the evaluations at mu would be bounded below by eps^n
while converging to zero;
- `charpoly_roots_mem_of_tendsto`: the matrix form, with evaluation
convergence supplied by `eval_charpoly` + `tendsto_det`;
- `charpoly_roots_nonneg_real_of_tendsto`: **real nonnegative spectrum
passes to entrywise limits** -- the root-continuity input for
Gantmacher-Krein (#394).
With this, full Gantmacher-Krein for totally nonnegative matrices reduces
to a single remaining statement: every TN matrix is an entrywise limit of
matrices with real nonnegative spectrum (Whitney density).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@PerAlexandersson
PerAlexandersson merged commit b4404bd into mainAug 22, 2026
2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@PerAlexandersson