I have the following problem: let $A$ be an $m \times m$ matrix that is not symmetric and real. Then, I am interested in its eigenspaces that correspond to the largest eigenvalue, $\lambda_{\text{max}}$. Without affecting the column span of the eigenspace associated with the largest root, say $\text{sp}\,r_{\text{max}}$, what can I do to $A$ to effect the following change: 1. remove $\lambda_{\text{max}}$, 2. insert $\mu$ in its stead, 3. obtain the relation $A\, r_{\text{max}} = \mu r_{\text{max}}$ so that the eigenvalue associated with $\text{sp}\,r_{\text{max}}$ is now $\mu$. I was thinking of possibly using the real Schur decomposition, thanks to its numerical stability. Any help is much appreciated!

Follow-up: suppose that the eigenvalue is potentially complex but the matrix is real. Then, as suggested, calculating $A + I \left(\mu -\lambda_{\text{max}} \right)$ would cause a problem because $\lambda_{\text{max}}$ comes in a conjugate pair. We (re-)define the notion of 'max' to be maximal by modulus, so $\lambda_{\text{max}}$ is such that $||\lambda_{\text{max}}||$ is maximal. (This arises from the fact that I am estimating $A$ using least squares. A few references, avenues I have considered is applying the method of Gershgorin discs or the Bauer-Fike theorem just to bound $||\lambda_{\text{max}}||$ using the (real) entries of $A$ but have not made much progress.

Moreover, it would be interesting to know if one could use the derivative of $A$ with respect to its eigenvalues to 'slide it' towards a matrix that would have the desired root, very much one uses the first derivative of a function to attain a linear approximation to.


The "obvious" thing to do is to change each $\lambda_{max}$ on the diagonal of the Schur decomposition to $\mu$, but that may change the eigenspace. For example, if $$A = \pmatrix{1 & 1\cr 0 & 2\cr}$$ (already upper triangular) the eigenspace for $2$ is spanned by $\pmatrix{1\cr 1\cr}$, but if you change the $2$ to $\mu$ the eigenspace for $\mu$ becomes $\pmatrix{1/(\mu-1)\cr 1\cr}$.

Instead, why not just add $(\mu - \lambda_{max}) I$ to the matrix? The eigenspaces stay the same, just that all eigenvalues are shifted by $\mu - \lambda_{max}$.

EDIT: Another possibility is to use the functional calculus: for any polynomial $p(X)$, $p(A)$ is a matrix whose eigenvalues are $p(\lambda)$ for eigenvalues $\lambda$ of $A$. If $v$ is an eigenvector of $A$ for $\lambda$, then $p(A) v = p(\lambda) v$. Moreover, if $p$ has real coefficients, $p(A)$ will still be real. Choose a polynomial such that $p(\lambda_{max}) = \mu$.

  • $\begingroup$ Thank you so much for your help @RobertIsrael. Just a quick follow-up, this requires the eigenvalues to be real, and not complex, right? I tried working with potentially complex eigenvalues (which I understand weren't part of my original question), but ran into trouble then. $\endgroup$ – Hirek Aug 14 at 16:02
  • $\begingroup$ Why would it require that? What kind of trouble? $\endgroup$ – Robert Israel Aug 14 at 17:56
  • $\begingroup$ Hi @RobertIsrael I have added a little follow-up to my question. Anyway, thank you so much for your kind attention! $\endgroup$ – Hirek Aug 14 at 18:08
  • $\begingroup$ Thanks so much, but just to make sure I understand, did you mean to write if $v$ is an eigenvector of $A$? $\endgroup$ – Hirek Aug 15 at 16:17
  • 1
    $\begingroup$ If $Av = \lambda v$ then by induction $A^n v = \lambda^n v$ for all nonnegative integers $n$ (including $n=0$ where $A^0 = I$), and so if $p(x) = \sum_{k=0}^n c_k x^k$ is a polynomial, $p(A) v = \sum_{k=0}^n c_k A^k v = \sum_{k=0}^n c_k \lambda^k v = p(\lambda) v$. $\endgroup$ – Robert Israel Aug 15 at 17:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.