Documentation

Atlas.Buildings.code.AffineCoxeter.PerronFrobeniusCorollary

theorem PerronFrobeniusCorollary.QF_insertNth_zero {n : } (f : Fin (n + 1)Fin (n + 1)) (i₀ : Fin (n + 1)) (w : Fin n) :
PerronFrobeniusProof.QF f (i₀.insertNth 0 w) = PerronFrobeniusProof.QF (fun (i j : Fin n) => f (i₀.succAbove i) (i₀.succAbove j)) w

Inserting a zero in slot $i_0$ does not change the quadratic form value: $Q_f(\iota_{i_0}(0, w)) = Q_g(w)$ where $g$ is the submatrix obtained by deleting row/column $i_0$.

theorem PerronFrobeniusCorollary.restrictForm_offDiag {n : } (f : Fin (n + 1)Fin (n + 1)) (i₀ : Fin (n + 1)) (hOffDiag : ∀ (s t : Fin (n + 1)), s tf s t 0) (s t : Fin n) :
s tf (i₀.succAbove s) (i₀.succAbove t) 0

The off-diagonal sign condition $f_{st} \le 0$ for $s \ne t$ is inherited by any principal submatrix.

theorem PerronFrobeniusCorollary.insertNth_abs_ne_zero {n : } (i₀ : Fin (n + 1)) (w : Fin n) (hw : w 0) :
(i₀.insertNth 0 fun (k : Fin n) => |w k|) 0

If $w \ne 0$ then inserting $0$ at $i_0$ in the absolute-value vector $|w|$ is still nonzero.

theorem PerronFrobeniusCorollary.insertNth_abs_nonneg {n : } (i₀ : Fin (n + 1)) (w : Fin n) (b : Fin (n + 1)) :
i₀.insertNth 0 (fun (k : Fin n) => |w k|) b 0

The "insert $0$ at $i_0$" version of $|w|$ has all components $\ge 0$.

theorem PerronFrobeniusCorollary.submatrix_positive_definite {n : } (f : Fin (n + 1)Fin (n + 1)) (hPSD : ∀ (u : Fin (n + 1)), PerronFrobeniusProof.QF f u 0) (hOffDiag : ∀ (s t : Fin (n + 1)), s tf s t 0) (hIndecomp : CoxeterGroup.FormIndecomposable f) (i₀ : Fin (n + 1)) (w : Fin n) :
w 0PerronFrobeniusProof.QF (fun (i j : Fin n) => f (i₀.succAbove i) (i₀.succAbove j)) w > 0

Perron–Frobenius corollary: any proper principal submatrix of an indecomposable, off-diagonal nonpositive, positive semidefinite Gram matrix is positive definite. Equivalently, the Coxeter form of an affine type becomes spherical on every proper parabolic.