Hi everyone,

I have a symmetric square matrix of real numbers, and I wish to
compute the (necessarily) real eigenvalues of this matrix.

sage: version()
'SAGE Version 2.7.2, Release Date: 2007-07-28'

sage: M = random_matrix(RDF, 4, 4)
sage: M += M.transpose()

Now M is such a matrix. My first instinct was to try 'eigenspaces':

sage: M.eigenspaces()
Exception (click to the left for traceback):
...
NotImplementedError

So I then tried using RR instead of RDF, and often I was getting
variables in the eigenvalues. The example is no longer symmetric, and
I suspect this might be why:

sage: M = random_matrix(RR, 4, 4)
sage: M.eigenspaces()
[
(-0.687210648633541, []),
(0.251596873005605, []),
(1.00000000000000*a2, [])
]

Wouldn't it be better to return the complex eigenvalues?

When I went back to RDF, I was surprised by the function eigen, which
seems to be doing exactly what I want:

sage: M = random_matrix(RDF, 4, 4)
sage: M += M.transpose()
sage: M.eigen()
([2.83698656526, 1.12513535857, -1.92195925813, -0.781971696103],
[  -0.685785481323    0.676886167426   -0.249484727275
-0.0963367054158]
[   0.171856298084 -0.00520796932156   -0.108449572475
-0.97912051357]
[   0.704671991219    0.683316875186   -0.135215217363
0.135026952387]
[  0.0600089260487   -0.273634868922   -0.952739684321
0.117515876478])

However, the output is a little confusing-- I'm guessing either the
columns or rows of the matrix are the eigenvectors. So I check the
documentation (this is on sagenb.org):

sage: M.eigen?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/server2/nb1/sage_notebook/worksheets/rlmill/0/code/
50.py", line 4, in <module>
    print _support_.docstring("M.eigen", globals())
  File "/usr/local/sage-2.6/local/lib/python2.5/site-packages/sage/
server/support.py", line 142, in docstring
    s += 'Definition:  %s\n'%sageinspect.sage_getdef(obj, obj_name)
  File "/usr/local/sage-2.6/local/lib/python2.5/site-packages/sage/
misc/sageinspect.py", line 267, in sage_getdef
    spec = sage_getargspec(obj)
  File "/usr/local/sage-2.6/local/lib/python2.5/site-packages/sage/
misc/sageinspect.py", line 252, in sage_getargspec
    args, varargs, varkw = inspect.getargs(func_obj.func_code)
UnboundLocalError: local variable 'func_obj' referenced before
assignment

I have absolutely no idea what to make of this.

-R Miller


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to