In class I sometimes need to use matrices of eigenvalues and eigenvectors, but the output of **eigenvectors()** isn’t particular helpful for that out of the box.

Here are two one-liners that work in the case of simple eigenvalues. I’ll post updates as needed:

First **eigU()**, takes the output of **eigenvectors() **and returns matrix of eigenvectors:

eigU(v):=transpose(apply(‘matrix,makelist(part(v,2,i,1),i,1,length(part(v,2)),1)));

And **eigdiag()**, which takes the output of **eigenvectors() **and returns diagonal matrix of eigenvalues:

eigdiag(v):=apply(‘diag_matrix,part(v,1,1));

Advertisements

## One thought on “Extracting Matrices from the Output of eigenvectors()”