atlas  0.6
Classes | Namespaces | Functions
bitvector.h File Reference
#include "../Atlas.h"
#include <vector>
#include <cassert>
#include "bitset.h"
#include "matrix.h"
Include dependency graph for bitvector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  atlas::bitvector::BitVector< dim >
 
class  atlas::bitvector::BitVectorList< dim >
 
class  atlas::bitvector::BitMatrix< dim >
 

Namespaces

 atlas
 
 atlas::bitvector
 

Functions

template<size_t dim>
BitVector< dim > atlas::bitvector::combination (const std::vector< BitVector< dim > > &b, size_t n, const BitSet< dim > &e)
 Puts in |v| the linear combination of the elements of |b| given by |e|. More...
 
template<size_t dim>
BitSet< dim > atlas::bitvector::combination (const std::vector< BitSet< dim > > &b, const BitSet< dim > &coef)
 Returns the linear combination of the elements of |b| given by |coef|. More...
 
template<size_t dim>
bool atlas::bitvector::combination_exists (const std::vector< BitVector< dim > > &b, const BitVector< dim > &rhs, BitSet< dim > &c)
 
template<size_t dimsol, size_t dimeq>
bool atlas::bitvector::solvable (const std::vector< BitVector< dimeq > > &eqns, BitVector< dimsol > &sol)
 Either find a solution of the system of equations |eqn|, putting it into |sol| and returning |true|, or return |false| if no solution exists. More...
 
template<size_t dim>
void atlas::bitvector::identityMatrix (BitMatrix< dim > &m, size_t n)
 Puts in m the identity matrix in rank n. More...
 
template<size_t dim>
void atlas::bitvector::initBasis (std::vector< BitVector< dim > > &b, size_t n)
 Initializes b to the canonical basis in dimension n. More...
 
template<size_t dim>
void atlas::bitvector::Gauss_Jordan (BitSet< dim > &t, std::vector< BitVector< dim > > &b)
 Replaces |b| by the ordered canonical basis of the vector space $V$ it spans. Flags in |t| the set of coordinate positions associated to |b|. More...
 
template<size_t dim>
void atlas::bitvector::normalSpanAdd (std::vector< BitVector< dim > > &a, std::vector< size_t > &f, const BitVector< dim > &v)
 
template<size_t dim>
void atlas::bitvector::spanAdd (std::vector< BitVector< dim > > &a, std::vector< size_t > &f, const BitVector< dim > &v)
 Enlarges the basis |a| so as to span |v|. More...
 
template<size_t dim>
int_Vector atlas::bitvector::lift (const BitVector< dim > &v)
 
BinaryEquation atlas::bitvector::make_equation (const SmallBitVector &lhs, bool rhs)