Hi,

I've released new versions of M4RI and M4RIE and I'd appreciate if someone 
could take the time to review the relevant tickets to get these updates into 
Sage:

M4RI:    http://trac.sagemath.org/sage_trac/ticket/14335
M4RIE: http://trac.sagemath.org/sage_trac/ticket/14336

# What's new? #

## M4RI ##

It's faster! For example. here's matrix multiplication on my computer:

n               5.8 vanilla     5.8 + #14335    Magma
4096    0.09s           0.07s                   0.10s
8192    0.67s           0.62s

More data here:  
https://martinralbrecht.wordpress.com/2012/12/21/m4ri-20121224/

(20121224 never made it into Sage)

## M4RIE ##

### Performance ###

It extends to degree 16 which means GF(2^e) for 10 < e <= 16 is now *a lot* 
faster in Sage (i.e., not embarrassingly slow)

Here's multiplication for 4096 x 4096 matrices over GF(2^e)

extension       vanilla with patch      magma 2.15-10
e:  1,          0.09s           0.07s           0.10s
e:  2,          0.30s           0.22s           0.68s
e:  3,          0.64s           0.46s           1.89s
e:  4,          0.89s           0.70s           6.35s
e:  5,          1.34s           1.05s           92.43s
e:  6,          1.77s           1.39s
e:  7,          2.22s           1.74s
e:  8,          2.72s           2.14s
e:  9,          31.21s          5.74s
e: 10,          41.42s          7.94s
e: 11,          long    9.31s
e: 12,          long    10.56s
e: 13,          long    56.39s
e: 14,          long    100.64s
e: 15,          long    141.88s
e: 16,          long    199.78s         464.14s

I didn't run those marked long because I ran out of RAM, check this though 
(without patch):

sage: A = random_matrix(GF(2^11,'a'),500,500) # ~1/10 of above size
sage: B = random_matrix(GF(2^11,'a'),500,500)
sage: %time A*B
CPU times: user 48.05 s, sys: 0.21 s, total: 48.26 s
Wall time: 48.43 s

Note that e>8 is not optimised yet.

More information here: https://martinralbrecht.wordpress.com/2012/08/23/m4rie-
support-for-finite-fields-up-to-degree-16-added/

### Compilation ###

I've split up conversion.c which means I can now do this:

$ ulimit -v 196608 && make

in the M4RIE directory and M4RIE successfully built with 192MB of virtual 
memory.

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

-- 
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 post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to