On Jun 12, 3:09 am, Vinzent Steinberg
<vinzent.steinb...@googlemail.com> wrote:
> On 11 Jun., 10:47, SherjilOzair <sherjiloz...@gmail.com> 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 sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to