On Saturday, April 23, 2016 at 10:16:33 PM UTC+1, Kiran Kedlaya wrote:
>
> I just tried the following experiment on several different machines;
> several different recent versions of Sage; algorithm = ple, m4ri; and n =
> 20000, 25000, 30000. In all cases, the result is identical:
>
> sage: M = MatrixSpace(GF(2), n)
> sage: for i in range(10):
> ...: print M.random_element().rank()
> 19937
> 19937
> 19937
> 19937
> 19937
> 19937
> 19937
> 19937
> 19937
> 19937
>
> Using the Internet, I also retroactively tested this in Sage 4.0.1.
> (Search in the page for "19937".)
>
> https://wiki.sagemath.org/sagebeatsmagma
>
> By contrast, I just tried a whole bunch of sparse examples coming from
> Cremona modular symbols that gave more plausible answers, e.g.:
> sage: S = CremonaModularSymbols(300001, sign=-1)
> sage: T =
> hecke_matrix(2).sage_matrix_over_ZZ().change_ring(GF(2)).dense_matrix()
> sage: T.dimensions()
> (27549, 27549)
> sage: T.rank()
> 27461
>
> I'm not sure if this rank is correct, but at least it's not 19937.
>
well, this is hardly a surprise:
sage: random_matrix?
...
Warning: Matrices generated are not uniformly distributed. For
unimodular matrices over finite field this function does not even
generate all of them: for example "Matrix.random(GF(3), 2)" never
generates "[[2,0],[0,2]]". This function is made for teaching
purposes.
---------
Improvements to this code are most welcome.
I looked at it many years ago, and it was a horrible broken mess.
http://trac.sagemath.org/ticket/11772
After that ticket it still was quite a mess, at least it did not hang our
teaching notebook server any more :-)
>
> Kiran
>
>
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.