The Perron–Frobenius theorem for positive matrices #
A square real matrix all of whose entries are strictly positive has an eigenvector all of whose
entries are strictly positive, for a positive eigenvalue r, the Perron root. This eigenvector
is unique up to a scalar: every eigenvector for r, of any sign, is a multiple of it, and every
nonzero entrywise nonnegative eigenvector, for any eigenvalue, is a positive multiple of it.
Finally r is the spectral radius: every complex eigenvalue has modulus at most r, and r is
the only one of modulus r.
The comparison arguments work over any linearly ordered semifield; the eigenspace statement for
vectors of arbitrary sign uses a linearly ordered field. Their heart is the Collatz–Wielandt
bound: if A is entrywise nonnegative and A v ≤ r v with v strictly positive, then t y ≤ A y
for a nonzero nonnegative y forces t ≤ r. This bound, and with it the spectral radius
statement, needs only nonnegativity of A once a strictly positive eigenvector is given.
Existence is specific to ℝ: the Perron root is the largest t for which some point x of the
standard simplex (Mathlib's Convexity.StdSimplex) satisfies t x ≤ A x, and the maximum exists
by compactness.
These are the statements used to define the Frobenius–Perron dimension of a transitive based ring: there one applies them to the matrix of multiplication by the sum of all basis elements, which is strictly positive by transitivity, and uses the uniqueness of nonnegative eigenvectors to see that the other structure matrices act on the Perron eigenvector by scalars.
Main results #
Matrix.le_of_smul_le_mulVec: the Collatz–Wielandt bound against a positive vector.Matrix.exists_eq_smul_of_mulVec_eq_smul: for a strictly positive matrix, the eigenspace of a strictly positive eigenvector is spanned by it.Matrix.eq_of_mulVec_eq_smul_of_nonnegandMatrix.exists_pos_eq_smul_of_mulVec_eq_smul: a nonzero nonnegative eigenvector of a strictly positive matrix has the Perron root as eigenvalue, and is a positive multiple of the Perron eigenvector.Matrix.exists_mulVec_eq_smul_of_pos: a strictly positive real matrix has a strictly positive eigenvector with positive eigenvalue.Matrix.norm_le_of_mulVec_le_smul: ifA v ≤ r vfor a strictly positive vectorvand a nonnegative real matrixA, then every complex eigenvalue has modulus at mostr.Matrix.spectralRadius_eq_of_mulVec_eq_smul_of_forall_norm_le: an eigenvalue of a real eigenvector that bounds the modulus of every complex eigenvalue is the spectral radius.Matrix.spectralRadius_eq_of_mulVec_eq_smul: the eigenvalue of a strictly positive eigenvector of a nonnegative real matrix is its spectral radius.Matrix.eq_of_norm_eq_of_mulVec_eq_smul: the Perron root of a strictly positive matrix is its only complex eigenvalue of maximal modulus.
References #
- E. Seneta, Non-negative Matrices and Markov Chains, Springer (2006), Chapter 1.
- P. Etingof, S. Gelaki, D. Nikshych, V. Ostrik, Tensor Categories, Mathematical Surveys and Monographs 205, AMS (2015), Sections 3.2 (the Frobenius–Perron theorem) and 3.3 (Frobenius–Perron dimensions).
A nonzero nonnegative eigenvector of a strictly positive matrix has all entries strictly positive.
Collatz–Wielandt bound. Let A be entrywise nonnegative with A v ≤ r v for a vector v
all of whose entries are strictly positive. If t y ≤ A y entrywise for some nonzero nonnegative
vector y, then t ≤ r.
A nonzero nonnegative eigenvector of a strictly positive matrix has the same eigenvalue as any eigenvector with strictly positive entries.
A nonzero nonnegative eigenvector of a strictly positive matrix is a positive multiple of any eigenvector with strictly positive entries, whatever eigenvalue it was taken for.
For a strictly positive matrix, the eigenspace of an eigenvector v with strictly positive
entries is spanned by v: every eigenvector for the same eigenvalue, of any sign, is a multiple
of v.
Perron–Frobenius theorem for positive matrices, existence: a real square matrix whose entries are all strictly positive has an eigenvector whose entries are all strictly positive, for a strictly positive eigenvalue.
When n is nonempty, this eigenvalue is the spectral radius
(Matrix.spectralRadius_eq_of_mulVec_eq_smul), and the eigenvector is unique up to a scalar
(Matrix.exists_eq_smul_of_mulVec_eq_smul). For empty n the statement holds trivially, with
the zero vector.
If A v ≤ r v for a vector v with strictly positive entries and an entrywise nonnegative
real matrix A, then r bounds the modulus of every complex eigenvalue.
Perron–Frobenius: the Perron root r of a strictly positive real square matrix is its only
complex eigenvalue of modulus r. Together with Matrix.norm_le_of_mulVec_le_smul, every other
complex eigenvalue has modulus strictly smaller than r.
If a real square matrix A has a nonzero real eigenvector for an eigenvalue r, and r
bounds the modulus of every complex eigenvalue of A, then r is the spectral radius of A,
viewed as a complex matrix.
Perron–Frobenius: the eigenvalue r of an eigenvector with strictly positive entries of an
entrywise nonnegative real square matrix is the spectral radius of the matrix, viewed as a complex
matrix. Together with Matrix.exists_mulVec_eq_smul_of_pos, a strictly positive matrix has its
spectral radius as an eigenvalue, with an eigenvector whose entries are strictly positive.