bitgauss 0.3.1

A fast boolean linear algebra library
Documentation

bitgauss is a Rust library for doing linear algebra over the 2-element finite field. Some features include:

  • getting and setting individual matrix elements (as bools)
  • fast row operations and dot product using bitwise operations
  • fast in-place and out-of-place matrix transpose using a recursive block method
  • horizontal and vertical concatenation of matrices
  • matrix multiplication
  • Gaussian elimination and related methods (e.g. rank and inverse)

The two main data structures provided by this crate are:

  • [BitVec]: a vector of bits stored in 64-bit chunks, along with convenience methods for indexing, slicing, and manipulating bits
  • [BitMatrix]: a two-dimensional matrix based on BitVec, which implements basic linear algebraic operations