Has something changed recently. I'm running v.4.3.5
[m...@vector ~]$ sage
----------------------------------------------------------------------
| Sage Version 4.3.5, Release Date: 2010-03-28 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: M=matrix([[0, .707-.707*i],[.707+.707*i, 0]])
sage: M = M.change_ring(CDF)
sage: spectrum = M.eigenvectors_right()
sage: evalue = spectrum[0][0]
sage: evector = spectrum[0][1][0]
sage: M*evector-evalue*evector
sage: evalue
0.999848988598 + 5.55111512313e-17*I
sage: evector
-0.99984898859777827
[ 0.999698 + 5.55027684145e-17*I -0.706893234939 + 0.706893234939*I]
[-0.706893234939 - 0.706893234939*I 0.999698 + 5.55027684145e-17*I]
sage:
On 06/05/2010 10:41:06 PM, Rob Beezer wrote:
Mike,
"Right eigenvectors" should be column vectors placed on the right side
of the matrix. The output is a triple for each eigenvalue: eigenvalue
first, then a list of eigenvectors. While the eigenvectors print as
rows, they will behave like columns when you want them to. Indexing
into the output just takes some thought:
sage: spectrum = M.eigenvectors_right()
sage: evalue = spectrum[0][0]
sage: evector = spectrum[0][1][0]
sage: M*evector-evalue*evector
(-3.33066907388e-16 + 9.47634626984e-17*I, 5.55111512313e-17)
So for the first eigenvalue, the output (up to rounding-off) is the
zero vector, as expected if the items are really an eigenvalue and
right eigenvector of M.
Rob
On Jun 5, 7:03 pm, Mike Witt <[email protected]> wrote:
> I'm confused about this, and hoping for some clarification ...
>
> sage: M=matrix([[0, .707-.707*i],[.707+.707*i, 0]])
> sage: M = M.change_ring(CDF)
> sage: M
> [ 0 0.707 - 0.707*I]
> [0.707 + 0.707*I 0]
> sage: M.eigenvectors_left()
> ([0.999848988598 + 5.55111512313e-17*I, -0.999848988598 -
> 5.55111512313e-17*I], [0.707106781187 0.5 + 0.5*I]
> [0.707106781187 -0.5 - 0.5*I])
> sage: M.eigenvectors_right()
> ([0.999848988598 + 5.55111512313e-17*I, -0.999848988598 -
> 5.55111512313e-17*I], [0.707106781187 0.707106781187]
> [ 0.5 + 0.5*I -0.5 - 0.5*I])
>
> I believe that eigenvectors_left() is giving me the answers that
> I expected. But I don't understand the values returned by
> eigenvectors_right().
> I *thought* that eigenvectors_right() was the one I wanted to call
in
> order
> to get "regular old eigenvectors" (as a mathematical novice such as
> myself
> would be expecting to see).
>
> Thanks,
>
> -Mike
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org