ImageRightAction¶
-
template<typename Container, typename Mat>
struct ImageRightAction<Mat, Container>¶ This struct is a specialisation of
ImageRightAction
for boolean matrices and containers of bitsets.- Template Parameters
Container – a container type where
IsBitSet<typename Container::value_type>
istrue
. For example,Container
might bedetail::StaticVector1<BitSet<N>, N>
orstd::vector<BitSet<N>>
for some value ofN
with \(0\leq N\leq 64\).Mat – a type such that
IsBMat
istrue
.
-
void operator()(Container &res, Container const &pt, Mat const &x) const¶
Given a row basis
pt
and a boolean matrixx
, this function computes the row basis of the space obtained by right multiplication of the rows inpt
by the matrixx
, and modifiesres
to contain the resulting row basis.- Parameters
res – container to store the result.
pt – the container on which to act.
x – the matrix which is acting.
- Returns
(None).
- Complexity
\(O(r ^ 2 c)\) where \(r\) is the number of rows in
pt
and \(c\) is the number of columns inx
.
-
template<size_t N, typename Mat>
struct ImageRightAction<Mat, BitSet<N>>¶ This struct is a specialisation of
ImageRightAction
for boolean matrices and bitsets.- Template Parameters
N – a value that exceeds the number of rows in any instance of
Mat
passed to the call operator.Mat – a type such that
IsBMat
istrue
.
-
void operator()(result_type &res, result_type const &pt, Mat const &x) const¶
Given a bitset
pt
(representing a row of a boolean matrix) and a boolean matrixx
, this function computes the row obtained by right multiplyingpt
by the matrixx
, and modifiesres
to contain the resulting bitset.- Parameters
res – bitset to contain the result.
pt – the bitset on which to act.
x – the matrix which is acting.
- Returns
(None).
- Complexity
\(O(r ^ 2)\) where \(r\) is the number of rows in
x
.