On Tue, Jul 3, 2012 at 5:19 AM, Dima Pasechnik <dimp...@gmail.com> wrote:
>
>
> On Tuesday, 3 July 2012 19:55:54 UTC+8, Javier López Peña wrote:
>>
>>
>>
>> On Tuesday, July 3, 2012 10:53:23 AM UTC+1, Dima Pasechnik wrote:
>>>
>>> well, it's not that small, especially for finite fields. E.g. for F_2 and
>>> n=3, one only gets 168 invertible matrices out of 512=2^9 in total...
>>> (I can't resist saying that the order of GL(n,q) is
>>> (q^n-1)(q^{n-1}-1)...(q^2-1)(q-1))
>>> So it's not gonna be very fast, also note that computing the determinant
>>> comes at a nonzero cost when matrices are big...
>>
>>
>> I stand corrected. Even in the worst case scenario (with F_2) it still
>> seems that about one in three matrices is invertible,
>
>
> no. As n grows, the ratio gets much, much worse: e.g. for n=2, q=2:
>
> sage:
> float((2^10-1)*(2^9-1)*(2^8-1)*(2^7-1)*(2^6-1)*(2^5-1)*(2^4-1)*7*3/2^100)
> 8.215872026646278e-15
>
> It's asymptotically 0, as is not hard to see, just look at the behaviour of
> the dominating sequence
> q^n q^{n-1}... q^2 q/q^{n^2}
>
>
>>
>> so the situation is not too bad.  Also, there is no need to compute the
>> determinants, knowing if the rank is full or not is enough.
>
>
> sure, but for F_2 rank and determinant are essentially equal problems :–)
>
>>
>> So my point is: even if not *very* fast, still seems faster than what we
>> have now, and it is very easy to implement while we think of a better
>> solution.
>
>
> well, pseudorandom field element generation is not very cheap, and
> generating "good" pseudorandom elements got be be expensive, otherwise
> some (generally believed to be true) conjectures of complexity theory would
> fail.

You don't have to re-generate the entire matrix, you could likely get
away with changing one random element at a time. (And if you did so,
perhaps computing the rank would be cheaper). Still, +1 to it's much
faster than what we have now and still easy to implement.

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to