My goal is to construct a real-valued matrix $M\in \mathbb{R}^{4\times 4} $ that has a given eigenvalue $\lambda_1 \in \mathbb{C}$ (and thus eigenvalue $\lambda_2 = \bar{\lambda}_1$) with algebraic multiplicity $s_1=2 \,$ (and thus $s_2=2$) and geometric multiplicity $m_1=1$ (and thus $m_2=1$) where the eigenvector $v_1 \in \mathbb{C}^4$ for eigenvalue $\lambda_1$ (and thus $v_2=\bar{v}_1$ for eigenvalue $\lambda_2$) is also given. My questions:

  • Is $M$ in this case uniquely determined?
  • How do I construct the matrix $M$?

My thoughts on the construction so far:

  1. The Matrix $M$ must fulfill the following conditions:

    • entries $m_{ij} \in \mathbb{R} \quad \forall i,j\in\{1,2,3,4\}$
    • $M v_1 = \lambda_1 v_1$
    • $\det(M-\lambda_1 I) = 0$
    • $\operatorname{rank}(M-\lambda_1 I) = 1$

    I wrote out these conditions in several equations of $m_{ij}$ and tried solving the system of (partly nonlinear) equations with MATLAB using the solve function. However, I did not manage to get a solution this way. Am I missing a condition? Should this approach generally work, implying I probably have a mistake in my MATLAB code?

  2. Is there a way to use the Jordan canonical form for this problem? I have read this: Constructing a matrix with given eigenvalues and given algebraic and geometric multiplicities but how do I find a generalised eigenvector when I know the eigenvector but not the matrix itself?


Each Jordan block of a matrix in Jordan canonical form looks like

$$ \begin{pmatrix} \lambda & 1\\ 0 & \lambda \end{pmatrix} $$ where the number of Jordan blocks for a given eigenvalue is the geometric multiplicity. So we want one such Jordan block for each eigenvalue.

Thus the Jordan form for your desired matrix is

$$ \begin{pmatrix} \lambda & 1 & 0 & 0\\ 0 & \lambda & 0 & 0\\ 0 & 0 & \bar{\lambda} & 1\\ 0 & 0 & 0 & \bar{\lambda}\\ \end{pmatrix}. $$

The matrix is not unique, of course, but it is unique up to similarity. This means that the matrix $M$, expressed in a basis of its generalized eigenvectors, takes the above form.

Here $v_1$ and $\bar{v_1}$ are eigenvectors with eigenvalue $\lambda,\bar{\lambda}$, respectively, while $v_2$ is a generalized eigenvalue with $Av_2=v_1+\lambda v_2,$ and complex conjugate.

Now if we want a real matrix, we just need to change to a real basis. Let $\lambda = a+bi$. Using the basis $(v_1+\bar{v_1})/2,(v_1-\bar{v_1})/2i,(v_2+\bar{v_2})/2,(v_2-\bar{v_2})/2i$, we have

$$ \begin{pmatrix} a & b & 1 & 0\\ -b & a & 0 & 1\\ 0 & 0 & a & b\\ 0 & 0 & -b & a \end{pmatrix} $$

  • $\begingroup$ But how do I make sure that a given $v_1$ is the eigenvector to $\lambda_1$? $\endgroup$
    – Bommel
    Jan 14 '18 at 21:57
  • $\begingroup$ @Bommel Let $v_1$ be a basis vector, and imagine that all the above calculations are done in your basis, rather than standard basis. Jordan form is relative to an eigenbasis. So it is already done. Just declare one of these vectors to be $v_1$. $\endgroup$
    – ziggurism
    Jan 14 '18 at 22:09
  • $\begingroup$ @Bommel I changed all my e's to v's so that it may meet your requirements. $\endgroup$
    – ziggurism
    Jan 14 '18 at 22:12
  • $\begingroup$ Thank you! I understand the following: I can construct the matrix $M$ by calculating $M = B J B^{-1}$ where $J$ is given by \begin{equation} J = \left( \begin{array}{cccc} a & b & 1 & 0 \\ -b & a & 0 & 1 \\ 0 & 0 & a & b \\ 0 & 0 & -b & a \end{array} \right) \end{equation} and $B$ is given by $$B = \left( \operatorname{Re} v_1, \operatorname{Im} v_1, \operatorname{Re}v_2, \operatorname{Im}v_2 \right)$$ where $v_1$ is the eigenvector and $v_2$ is the generalised eigenvector with $Mv_2 = v_1+\lambda v_2$. $\endgroup$
    – Bommel
    Jan 15 '18 at 12:46
  • $\begingroup$ But how do I find $v_2$ when $\lambda$ and $v_1$ are given, but not $M$? Or does $v_2$ have to be given as well? $\endgroup$
    – Bommel
    Jan 15 '18 at 12:51

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.