0
$\begingroup$

Say I have a list of eigenvalues and eigenvectors produced from a matrix $M$ using the command {eig1,eig2}=Eigensystem[M], which will return the eigenvalues with respective eigenvectors of $M$.

I want to now produce a new list list1 which will output a list of eigenvalues and the $L^{\infty}$ norms of the respective eigenvectors. How could this be done?

I previously defined Eig1[m_]:=Eigenvalues[m] and Eig2[m_]:=Eigenvectors[m], then used:

EigIf[m_]:=Map[Max[#]&,Eig2[m]]

To then obtain the table with {Eig1[m_],EigIf[m_]}. However, I'm not sure if the order in which the eigenvectors are returned with Eigenvectors[m] is respective to the order given by Eigenvalues[m] (so the first eigenvalue in the latter corresponds to the first eigenvector in Eigenvectors[m]). Can something similar be done with Eigensystem[m]?

Thank you!

$\endgroup$
  • $\begingroup$ Welcome to Mathematica.SE! I suggest the following: 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Read the faq! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$ – Michael E2 Aug 9 '15 at 3:45
  • 1
    $\begingroup$ I can't quite figure out this question. Jens voted to close this as a duplicate (see link above) but you appear to already be aware of the use of Eigensystem. Can you restate the problem, focusing on why you are unable to apply Eigensystem as desired? $\endgroup$ – Mr.Wizard Aug 9 '15 at 7:29
  • $\begingroup$ As noted, use Eigensystem. It is not guaranteed that orders of values and vectors, computed separately, will correspond whereas with Eigensystem they do. $\endgroup$ – Daniel Lichtblau Aug 9 '15 at 15:38
2
$\begingroup$

A neater answer just uses Eigensystem:

MapAt[Max, Eigensystem[m], {2, All}] // Transpose

For input {{1, 2}, {3, 4}}, this returns {{1/2 (5 + Sqrt[33]), 1}, {1/2 (5 - Sqrt[33]), 1}}.

$\endgroup$

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