Rank of a spectral function of a Hermitian matrix:
ProvedRHLinalg.rank_specMapLet be an Hermitian matrix over an RCLike field with eigenvalues , and for let be the spectral functional calculus applied to .
Statement.
the number of indices at which does not annihilate the corresponding eigenvalue.
Since conjugation by the unitary preserves rank, this reduces to the rank of a diagonal matrix. In the module Zeta23.LinAlg.HermitianPosPart this bookkeeping identity is used pervasively across the linear-algebra layer: it feeds RHLinalg.finrank_le_posIndex_of_posDefOn, RHLinalg.posIndex_add_le, RHLinalg.rank_trace_ineq, and the zero-side estimates Zeta23.ZeroSide.ZeroBlockData.posIndex_blockA_le, posIndex_blockQ_le, and Zeta23.ZeroSide.posIndex_smul_pos — in particular identifying the rank of the positive part with the positive index .
import Mathlib.Analysis.Matrix.PosDef
import Definitions.Def_Zeta23_LinAlg_HermitianPosPart
import Definitions.Def_Zeta23_LinAlg_PosIndex
open Matrix Finset Unitary
open scoped ComplexOrder
open RHLinalg
variable {𝕜 : Type*} [RCLike 𝕜]
variable {n : Type*} [Fintype n] [DecidableEq n]
theorem RHLinalg.rank_specMap {A : Matrix n n 𝕜} (hA : A.IsHermitian) (f : ℝ → ℝ) :
(specMap hA f).rank = #{i | f (hA.eigenvalues i) ≠ 0} := by sorry