21
$\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$ Commented Jul 31, 2011 at 22:38
  • 3
    $\begingroup$ This is pretty standard - en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix $\endgroup$
    – anon
    Commented Jul 31, 2011 at 22:43
  • $\begingroup$ @anon: Of course. I should've seen that $\endgroup$
    – Jacob
    Commented 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$ Commented 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$ Commented Aug 6, 2011 at 14:43

1 Answer 1

22
$\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$
3
  • 6
    $\begingroup$ Also, if you've been given orthonormal eigenvectors, computing $V^{-1}$ is particularly simple... $\endgroup$ Commented 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
    Commented May 18, 2022 at 14:56
  • 1
    $\begingroup$ @CLei if the eigenvectors constructing $V$ are orthonormal as Nate stated, $V^{-1} = V^t$ $\endgroup$ Commented Sep 14, 2022 at 17:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .