Updates:
Labels: -NeedsReview PassedReview
Comment #3 on issue 3189 by pr...@goodok.ru: Calculate eigenvectors
numericly if it impossible calculate symbolical
http://code.google.com/p/sympy/issues/detail?id=3189
For floats this issue solved,
But we can try to apply this method and for complex floats.
In [40]: m = Matrix(2, 2, [1, 0, 0, I])
In [41]: m.eigenvals()
Out[41]:
⎧ 3/4 ___ 3/4 ___ ⎫
⎪1 ⅈ (-1) ⋅╲╱ 2 1 (-1) ⋅╲╱ 2 ⅈ ⎪
⎨─ + ─ + ─────────────: 1, ─ - ───────────── + ─: 1⎬
⎪2 2 2 2 2 2 ⎪
⎩ ⎭
In [43]: m.eigenvects()
NotImplementedError: Can't evaluate eigenvector for eigenvalue 1/2 -
(-1)**(3/4)*sqrt(2)/2 + I/2
In [42]: v = m.eigenvals().keys()[0]
In [46]: v.simplify()
Out[46]:
3/4 ___
1 (-1) ⋅╲╱ 2 ⅈ
─ - ───────────── + ─
2 2 2
In [47]: v.evalf()
Out[47]: 1.0 + 0.e-22⋅ⅈ
----
( The simplify() works bad in this case too. )
--
You received this message because you are subscribed to the Google Groups
"sympy-patches" group.
To post to this group, send email to sympy-patches@googlegroups.com.
To unsubscribe from this group, send email to
sympy-patches+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sympy-patches?hl=en.