WITH
The best I would recommend you is to use the NTL library .
You will probably be interested in classes:
mat_GF2: matrices over GF (2); includes basic matrix arithmetic operations, including calculating the determinant, matrix inversion, solving nonsingular systems of linear equations, and Gaussian exception
mat_GF2E: matrices over GF2E; includes basic matrix arithmetic operations, including calculating the determinant, matrix inversion, solving nonsingular systems of linear equations, and Gaussian exception
It also supports the rank operation you mentioned.
For additional modules / classes, refer to the documentation .
Java
I am currently using the BouncyCastle library , which has basic support for GF2, GF2 ^ n-matrices. Personally, I use the source code of the BouncyCastle library, distributing it myself for the desired functions. A few useful methods are confidential / secure.
See JavaDoc for more details.
source share