On Sun, Feb 14, 2010 at 8:49 PM, Jeff Stroomer <[email protected]> wrote:
> William,
>
> I used GF(101), GF(1009), and GF(1000099).
>
> Jeff

In Sage, echelon form over at least the first two of these fields uses
the C++ Linbox library.  That library in turn does computation of
echelon forms using a very complicated asymptotically fast
Strassen-style block algorithm that reduces the problem to clever use
of matrix multiplications.  Matrix multiplication over finite fields
is in turn done using yet another Strassen-based algorithm that
reduces matrix mutiplication over a finite field to many matrix
multiplications with floating point numbers, which is typically done
using ATLAS.  ATLAS itself can be tuned in many ways, depending on
hardware, whether Sage is installed from a binary or source, etc.,
which can easily cause up to a factor of 5 (or so) in performance.

Anyway, the point of the above remark is just that the actual default
algorithm used for echelonization of a matrix over a finite field in
Sage is probably much, much more complicated than you might at first
guess.

 -- William

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to