I just checked the FLINT implementation and there is this note:

/* TODO: optimise this */
static void
nmod_mat_addmul_classical(nmod_mat_t C, const nmod_mat_t A, const
nmod_mat_t B)

So my guess is at the moment we wouldn't be competitive everywhere. I
think the times we really win are when the modulus is "big".

I have a vague recollection of a discussion about this issue where I
noted that even for p = 50000, dim = 100 Sage suffered a > 100 times
slowdown due to switch to very slow generic code. At p = 40000, dim =
100, my reading of the code was that a basecase implementation in
Cython was used in Sage, not linbox (I couldn't see that it was ever
used for matrix multiplication). I don't know how it compares with
linbox, or why someone wrote a special Cython implementation. However,
I also recall that in the discussion I have in mind, my abilities at
reading code and understanding what Sage actually does were very
questionable (and questioned). So I might be completely off with all
of this! Take it with a grain of salt.

Bill.

On Jan 17, 11:13 am, Bill Hart <goodwillh...@googlemail.com> wrote:
> At the moment we don't use the BLAS, so linbox is still better. But I
> think Fredrik had some figures which show we beat Sage.
>
> Moreover, our code works for primes up to 64 bits which isn't possible
> with the BLAS anyhow.
>
> I'll let Fredrik respond in more detail as he wrote the code.
>
> Bill.
>
> On Jan 17, 10:37 am, Martin Albrecht <martinralbre...@googlemail.com>
> wrote:
>
>
>
>
>
>
>
> > Congratulations. I'm curious: how does your mod p multiplication of matrices
> > compare ot LinBox's?
>
> > Cheers,
> > Martin
>
> > --
> > name: Martin Albrecht
> > _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> > _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
> > _www:http://martinralbrecht.wordpress.com/
> > _jab: martinralbre...@jabber.ccc.de

-- 
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