Crate bitgauss

Source
Expand description

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

Re-exports§

pub use bitmatrix::BitMatrix;
pub use bitmatrix::RowOps;
pub use bitvec::BitBlock;
pub use bitvec::BitSlice;
pub use bitvec::BitVec;

Modules§

bitmatrix
bitvec