Skip to content
/ m4rie Public

M4RIE is a library for fast arithmetic with dense matrices over GF(2^e) for 2 ≤ e ≤ 16

License

Notifications You must be signed in to change notification settings

malb/m4rie

Repository files navigation

M4RIE is a library for fast arithmetic with dense matrices over GF(2^e) for 2 ≤ e ≤ 16. The name stems from the fact that is relies heavily on M4RI. M4RIE is part of the Sage mathematics software. M4RIE is available under the General Public License Version 2 or later (GPLv2+).

Main Features

  • basic arithmetic with dense matrices over GF(2^e) (addition, equality testing, stacking, augmenting, sub-matrices, etc.),

  • asymptotically fast $O(n^{\log_2 7})$ matrix multiplication using the Karatsuba trick due to Boothby and Bradshaw,

  • asymptotically fast $O(n^{\log_2 7})$ matrix multiplication using “Newton-John Table” based multiplication & the Strassen-Winograd algorithm,

  • fast row echelon form computation and matrix inversion via a “Newton-John Table” based algorithm using only $O(n^2)$ field multiplications and $O(n^3)$ field additions,

  • asymptotically fast row echelon form computation and matrix inversion via PLE decomposition,

  • asymptotically fast TRiangular System solving with Matrices (upper left, lower left),

  • support for Linux, OpenSolaris and OS X (all GCC). Support for Windows (MSYS2/MinGW) is provided on a best effort basis and may disappear any time.

See Further Reading for implemented algorithms.

Prerequisites

M4RIE depends heavily on M4RI.

Performance

See Performance.

Install

If you downloaded M4RI by cloning the mainline tree at

https://github.com/malb/m4ri

you need to first run the following command:

./autogen.sh

Then do the usual

./configure
make
make check

For details see the instructions in the file INSTALL.

Documentation

To build the reference manual, ensure that you have Doxygen installed. The HTML version of the reference manual can be built as follows:

cd src/
doxygen

The built documentation is contained under the doc subdirectory of m4ri/. Once the HTML version is built, you can build the PDF version as follows:

cd doc/latex/
make

Contributors

The following people have contributed to the M4RIE library.

We are grateful to William Stein for providing our hosting and general infrastructure in the past.

Citing M4RIE

If you use our libraries in a non-trivial part of your research please consider citing them as follows:

@manual{M4RI,
    key          = "M4RIE",
    author       = "Martin Albrecht",
    organization = "The M4RIE~Team",
    title        = "{The M4RIE Library -- Version **version**}",
    year         = **year**,
    url          = "\url{https://bitbucket.org/malb/m4rie}",
}

and cite the appropriate publications mentioned in Further Reading.

History

About

M4RIE is a library for fast arithmetic with dense matrices over GF(2^e) for 2 ≤ e ≤ 16

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 11

Languages