IT++ Logo

gf2mat.h File Reference


Detailed Description

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

Author:
Erik G. Larsson and Adam Piatyszek
-------------------------------------------------------------------------

IT++ - C++ library of mathematical, signal processing, speech processing, and communications classes and functions

Copyright (C) 1995-2008 (see AUTHORS file for a list of contributors)

This program 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 2 of the License, or (at your option) any later version.

This program 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

-------------------------------------------------------------------------

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.

#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>

Go to the source code of this file.

Namespaces

namespace  itpp

Classes

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

Typedefs

typedef Sparse_Vec< bin > itpp::GF2vec_sparse
 Sparse GF(2) vector.
typedef Sparse_Mat< bin > itpp::GF2mat_sparse
 Sparse GF(2) matrix.

Functions

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.

SourceForge Logo

Generated on Sat Apr 19 10:42:06 2008 for IT++ by Doxygen 1.5.5