On Jun 12, 3:09 am, Vinzent Steinberg
<[email protected]> wrote:
> On 11 Jun., 10:47, SherjilOzair <[email protected]> wrote:
>
> > Do you require to solve eigenvalue problems of matrices bigger than
> > 4*4 ?
> > How are you doing it currently ?
> > Matrix.diagonalize only works for matrices smaller than 5*5, as
> > polys.roots can only solve degree 4 equations and less.
>
> This is not entirely true, because we can find roots of higher order
> using for examples factorization. But yes, for equations of degree
> greater than 4 there is no general algorithm. But this does not matter
> in this case, because sympy does not calculate eigenvalues using the
> characteristic polynomial AFAIK.
Arbitrary higher-order equations can not be solved.
And characteristic polynomial of an arbitrary matrix is arbitrary.
This means, that we can't use that method to compute eigenvals
reliably.
I don't think there are any other direct methods, though.
sympy uses this method.
def berkowitz_eigenvals(self, **flags):
"""Computes eigenvalues of a Matrix using Berkowitz method.
"""
return roots(self.berkowitz_charpoly(Dummy('x')), **flags)
eigenvals = berkowitz_eigenvals
Or are you referring to something else ?
>
> Vinzent
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
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/sympy?hl=en.