Definition of a class for algebra on GF(2) (binary) matrices. More...
|Parameterized "alist" representation of sparse GF(2) matrix. More...|
|Class for dense GF(2) matrices. More...|
|itpp namespace |
|typedef Sparse_Vec< bin >||itpp::GF2vec_sparse|
|Sparse GF(2) vector. |
|typedef Sparse_Mat< bin >||itpp::GF2mat_sparse|
|Sparse GF(2) matrix. |
|it_file &||itpp::operator<< (it_file &f, const GF2mat &X)|
|it_ifile &||itpp::operator>> (it_ifile &f, GF2mat &X)|
|GF2mat||itpp::operator* (const GF2mat &X, const GF2mat &Y)|
|GF(2) matrix multiplication. |
|bvec||itpp::operator* (const GF2mat &X, const bvec &y)|
|GF(2) matrix multiplication with "regular" binary vector. |
|GF2mat||itpp::operator+ (const GF2mat &X, const GF2mat &Y)|
|GF(2) matrix addition. |
|std::ostream &||itpp::operator<< (std::ostream &os, const GF2mat &X)|
|Output stream (plain text) operator for dense GF(2) matrices. |
|GF2mat||itpp::gf2dense_eye (int m)|
|GF(2) Identity matrix. |
|GF2mat||itpp::mult_trans (const GF2mat &X, const GF2mat &Y)|
|Multiplication X*Y' where X and Y are GF(2) matrices. |
Definition of a class for algebra on GF(2) (binary) matrices.
Copyright (C) 1995-2010 (see AUTHORS file for a list of contributors)
This file is part of IT++ - a C++ library of mathematical, signal processing, speech processing, and communications classes and functions.
IT++ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
IT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with IT++. If not, see http://www.gnu.org/licenses/.
Two representations are offered: GF2mat_sparse for sparse GF(2) matrices and GF2mat for dense GF(2) matrices. Conversions between dense and sparse GF(2) are also possible.
Binary vectors are represented either via the bvec class (memory typically is not an issue here) or as n*1 (or 1*n) GF(2) matrix.
Note that the
bmat class also provides some functionality for matrix algebra over GF(2) but this class is based on
Mat<> which has a fundamentally different addressing mechanism and which is much less memory efficient (
Mat<> uses one byte memory minimum per element).
Definition in file gf2mat.h.