On 12/04/2012 09:48 PM, Evan Cooch wrote:
> rying to figure out what, exactly, maxima is returning when I use
> eigenvectors. Take the following simple example:
>
> a : matrix([0.8,0.5],[0.2,0.5]);
>
> [vals,vecs] : float(eigenvectors(a));
>
> Second command yields
>
> [[[0.3,1.0],[1.0,1.0]],[[[1.0,-1.0]],[[1.0,0.4]]]]
>
>
> The eigenvalues are 1, 0.3 (confirmed by other software - e.g., Maple,
> MATLAB...)
>
>
> But, the eigenvectors are given as 1,1,-1,4. In matrix form
>
> e : transpose(apply('matrix,map('first,vecs)));
>
> which yields
>
> matrix([1.0,1.0],[-1.0,0.4])
No, those are not the eigenvectors. You saved the eigenvectors in the
list vecs, so look at that list:
(%i4) vecs;
(%o4) [[[1.0, - 1.0]], [[1.0, 0.4]]]
The list [1.0,1.0] are the multiplicities of the eigenvalues. Namely,
the eigenvalue 1 has multiplicity 1 and the eigenvalue 0.3 too. Remember
that if [1,-1] is an eigenvector [-1,1] and [-0.7,0.7] will also be
eigenvectors of the same eigenvalue.
Regards,
Jaime