Linear algebra over small extensions of GF(2).

Library

The library is here: http://bitbucket.org/malb/m4rie

Get in contact with Martin Albrecht to get commit rights.

Sage Patch

A patch for Sage is here: https://bitbucket.org/malb/m4rie/downloads/m4rie_for_sage.patch

Todo

Implement simple functions in m4rie

Examples: stacking, augmenting, printing

Write C test code

Write C documentation

Implement methods of Sage class

Write documentation for Sage class

Improve performance of Travolta-Gaussian elimination

Improve performance of Travolta multiplication

Implement Strassen multiplication

Preliminary Bench***market***ing

1000 x 1000 revision 1

n

M4rie mul

Magma mul

M4rie elim

Magma elim

2

0.06

0.02

1.28

0.06

3

0.08

0.05

1.32

0.07

4

0.09

0.11

1.33

0.08

5

0.17

1.79

1.35

0.96

6

0.21

1.83

1.39

0.97

7

0.29

1.84

1.45

1.00

8

0.42

2.50

1.57

1.29

9

4.72

6.44

3.90

2.41

10

11.54

6.43

8.94

2.40