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.

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

## Namespaces

namespace | itpp
| itpp namespace

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

## Detailed Description

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

Author
  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 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.

Generated on Mon Jun 10 2024 11:49:26 for IT++ by Doxygen 1.9.8