Continuity of the spectral radius Let $M \in \mathbb{R}^{n\times n}$ be a nonnegative irreducible matrix with strictly positive entries on its main diagonal. Then $M$ is primitive and by the Perron-Frobenius Theorem we know that the maximal eigenvalue of $M$ is its spectral radius $\rho(M)$. Moreover, there exists a strictly positive (component wise) $x\in \mathbb{R}^n$ such that $$Mx = \rho(M) x.$$
Now, for every $t > 0$, consider the perturbed matrix $M(t) := M+tD$ where $D\in \mathbb{R}^{n\times n}$ is a diagonal matrix with strictly positive entries on its diagonal. Then $M(t)$ is also a primitive matrix and by the same theorem we know the existence of $x(t)\in \mathbb{R}^n$ strictly positive such that $$M(t)x(t) = \rho(M(t))x(t).$$
Then we have 
$$\lim_{t \downarrow 0} \rho(M(t)) = \rho(M).$$
My questions:


*

*How to prove that? (references are also enough and welcome :))

*Is it possible to get sufficient/necessary conditions on $C$ so that if I replace $D$ by $C$ then the result still holds?


A bit of context:


*

*This argument (or a very similar version of it) is used in Corollary 5.2 of this paper.

*A similar argument is also discussed in the introduction of this paper however they assume it be know and don't provide references to it.

 A: Let $C$ be a nonnegative matrix and $M(t)=M+tC$ (a primitive matrix). Then $\rho(M(T))$ is the maximal eigenvalue of $M(t)$. Let $spectrum(M(t))=(\lambda_i(t))$ with $\lambda_1(t)>|\lambda_2(t)|\geq |\lambda_3(t)|\geq\cdots$. Since $\lim_{t↓0}M(t)=M(0)$, $\lim_{t↓0}\rho(M(t))=\rho(M)$. Moreover , when $t$ decreases, $\rho(M(t))$ decreases too.
EDIT:(with  correction). When, for every $t$, the eigenvalues of $M(t)$ are real, we can write $\lambda_1(t)\geq \cdots\geq \lambda_n(t)$. Then the functions $\lambda_i(t)$ are continuous. That is no more the case when the eigenvalues are complex ; for instance there may be a continuous arc that connects $\lambda_2(1)$ and $\lambda_n(0)$. Yet $\lambda_1(t)=\rho(M(t))$ is continuous ; indeed there are continuous functions $x_j(t),j\leq n$ s.t. for every $t$, $x_j(t)$ is an eigenvalue of $M(t)$. Then $\sup_j |x_j(t)|=\lambda_1(t)=\rho(M(t))$ is continuous. Moreover $\rho(M(t))$ is a real analytic function ; the reason is because $\lambda_1(t)$ is a REAL and SIMPLE eigenvalue of $M(t)$. For a proof, cf.
http://www.math.upenn.edu/~kazdan/509S07/eigenv5b.pdf
