Speeding up by a factor of 4500 in a common use case sounds like a good idea. Please open a ticket. (Or do you want me to do it?)
On Tuesday, January 19, 2021 at 11:05:58 PM UTC-7 a.simpl...@gmail.com wrote: > I am running Sagemath 9.1 on macOS 10.15.17 > but I think this issue is more about math. > > Consider the following code > > G = GL(2^8, GF(2^8)) > A = G.random_element() > B = Matrix(A) > %time B.is_invertible() > > C = Matrix(A) > %time C.nrows() == C.ncols() == C.rank() > > The first timer returns 9s while the second timer returns 2ms. > I believe that this is because > > - is_invertible() computes charpoly and read off the det. > This is a detour when the base ring is a field. > - rank() uses m4rie, which uses asymptotically fast algorithm for rref. > > Perhaps we can add one more if-brach in is_invertible() that exploits > fast rref? > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/7e139686-ae64-4f5a-9d9b-be4b21991689n%40googlegroups.com.