I fixed the naming thing at https://github.com/sympy/sympy/pull/2471.
The other thing looks like another bug. And I guess you are right. There should be a faster determinant method for this special case. It will still have to take a little time to expand the polynomial, but it shouldn't be that slow. Aaron Meurer On Sat, Sep 21, 2013 at 1:25 AM, Pablo Puente <ppue...@googlemail.com> wrote: > Hi Aaron, > > Thanks for the hints. > > I tried Matrix.det() with methods "berkowitz", "bareis" an "det_LU" > (docstring > "lu_decomposition" method is wrong) and still takes forever. > "lu_decomposition" takes 1 minute, but still it is too much for a diagonal > matrix. > > I also tried using SparseMatrix.eigenvals() with no improvements: > M=(2-x)*SparseMatrix.eye(100) > M.eigenvals() > > I tried with SparseMatrix.det() with different methods and I get the error: > S=(2-x-y)*SparseMatrix.eye(100) > S.det() > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/home/pape/sympy/sympy/matrices/matrices.py", line 2435, in det > return self.det_bareis() > File "/home/pape/sympy/sympy/matrices/matrices.py", line 2501, in > det_bareis > M[i, j] = cancel(D) > File "/home/pape/sympy/sympy/matrices/immutable.py", line 64, in > __setitem__ > raise TypeError("Cannot set values of ImmutableMatrix") > TypeError: Cannot set values of ImmutableMatrix > > > On Friday, September 20, 2013 9:25:01 PM UTC+2, Pablo Puente wrote: >> >> While writing Wester test P22 I see calculating the eigenvalues of a >> diagonal matrix of dimension 100 takes forever: >> >> M=(2-x)*eye(100); >> >> assert M.eigenvals() == {-x + 2: 100} >> >> >> I see that M.det() also takes forever. >> >> Maybe Matrix.det() could use a special implementation for big diagonal >> matrices? >> >> Best Regards >> Pablo > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.