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.

Reply via email to