16
$\begingroup$

Given eigenvectors $v_1, v_2, \dots, v_n$ and eigenvalues $\lambda_1,\lambda_2,\dots,\lambda_n$, how do I construct a matrix whose eigenvectors and eigenvalues are $v$ and $\lambda$?

The straightforward way of doing this is to encapsulate all $n^2$ constraints into a linear system and solve for each element of the matrix $M_i$. I.e.,

$$ \begin{bmatrix} v_{11} & v_{12} & \dots & v_{1n} & 0 & 0 &\dots & 0 & \dots & 0 & 0 &\dots & 0 \\ 0 & 0 &\dots & 0 & v_{11} & v_{12} & \dots & v_{1n} & \dots & 0 & 0 &\dots & 0\\ & & & & & & \vdots \\ 0 & 0 &\dots & 0 & 0 & 0 &\dots & 0 & \dots & v_{n1} & v_{n2} & \dots & v_{nn}\\ \end{bmatrix} \begin{bmatrix} M_1 \\ M_2 \\ \vdots \\ M_{n^2} \end{bmatrix} = \begin{bmatrix} \lambda_1 v_{11} \\ \lambda_1 v_{12} \\ \vdots \\\lambda_n v_{nn} \end{bmatrix} $$

Is there a more elegant way?

$\endgroup$
7
  • 5
    $\begingroup$ In the basis consisting of the eigenvectors, the matrix would be diagonal, with the $\lambda_i$ as diagonal values, call it $D$. Next you write down the matrix whose columns are the coordinates of the $v_i$, call it $P$, and the matrix you are looking for is $P^{-1}DP$. $\endgroup$ Jul 31, 2011 at 22:38
  • 3
    $\begingroup$ This is pretty standard - en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix $\endgroup$
    – anon
    Jul 31, 2011 at 22:43
  • $\begingroup$ @anon: Of course. I should've seen that $\endgroup$
    – Jacob
    Jul 31, 2011 at 23:01
  • $\begingroup$ @Jacob: you have asked us to delete this question, but it even has an answer you accepted! It is generally not a good idea to delete a question which would imply deleting the work contributed by others. $\endgroup$ Aug 5, 2011 at 22:07
  • 2
    $\begingroup$ @Jacob: it is always the case that one should have thought about everything better, and with time (hopefully) everything becomes —if not entirely trivial— at least easier. $\endgroup$ Aug 6, 2011 at 14:43

1 Answer 1

15
$\begingroup$

Your system of equations is $Mv_1=\lambda_1v_1,\ldots,Mv_n=\lambda_nv_n$. Or equivalently, $M(v_1,\ldots,v_n)=(\lambda_1 v_1,\ldots,\lambda_n v_n)$, where $V:=(v_1,\ldots,v_n)$ is the $n\times n$-matrix with columns $v_1,\ldots,v_n$. You can write this as $MV=VD$ where $D$ is the diagonal matrix with diagonal entries $\lambda_1,\ldots,\lambda_n$. So, assuming $V$ is invertible, that is, that your given eigenvectors are linearly independent, you get $M=VDV^{-1}$. Thus to calculate $M$ this way, all you need to do is to find the inverse of the matrix of eigenvectors, and multiply three matrices together.

$\endgroup$
2
  • 5
    $\begingroup$ Also, if you've been given orthonormal eigenvectors, computing $V^{-1}$ is particularly simple... $\endgroup$ Jul 31, 2011 at 22:49
  • $\begingroup$ Is there an efficient way to do this without computing $V^{-1}$? I mean, computing $V^{-1}$ cost too much when Matrix V is huge. $\endgroup$
    – C Lei
    May 18 at 14:56

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.