IT++ Logo
Classes | Namespaces | Typedefs | Functions
gf2mat.h File Reference

Definition of a class for algebra on GF(2) (binary) matrices. More...

#include <itpp/base/vec.h>
#include <itpp/base/mat.h>
#include <itpp/base/svec.h>
#include <itpp/base/smat.h>
#include <itpp/base/itfile.h>
#include <itpp/itexports.h>

Go to the source code of this file.


class  itpp::GF2mat_sparse_alist
 Parameterized "alist" representation of sparse GF(2) matrix. More...
class  itpp::GF2mat
 Class for dense GF(2) matrices. More...


namespace  itpp
 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.

Detailed Description

Definition of a class for algebra on GF(2) (binary) matrices.

Erik G. Larsson and Adam Piatyszek

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

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.

SourceForge Logo

Generated on Sat Jul 6 2013 10:54:26 for IT++ by Doxygen 1.8.2