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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.