Yes, there were changes, including the output format, as of 4.4 (about
7 weeks ago).

See  "eigenmatrix_right totally broken" at

http://trac.sagemath.org/sage_trac/ticket/4756

Rob

On Jun 6, 7:27 am, Mike Witt <msg...@gmail.com> wrote:
> 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 <msg...@gmail.com> 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 sage-support@googlegroups.com
> > To unsubscribe from this group, send email to  
> > sage-support+unsubscr...@googlegroups.com
> > 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 sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to