This struct is a specialisation of :cpp
ImageLeftAction
for boolean matrices and containers of bitsets.
- tparam Container
a container type where :cpp
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 ≤ N ≤ 64.- tparam Mat
a type such that :cpp
IsBMat<Mat>
istrue
.Given a row basis
pt
and a boolean matrixx
, this function computes the row basis of the space obtained by left multiplication of the rows inpt
by the matrixx
, and modifiesres
to contain the resulting row basis. This is equivalent to applying :cppImageRightAction
to the transpose ofx
.
- param res
container to store the result.
- param pt
the container on which to act.
- param x
the matrix which is acting.
- returns
(None).
- complexity
O(r2c) where r is the number of rows in
pt
and c is the number of columns inx
.
This struct is a specialisation of :cpp
ImageLeftAction
for boolean matrices and bitsets.
- tparam N
a value that exceeds the number of rows in any instance of
Mat
passed to the call operator.- tparam Mat
a type such that :cpp
IsBMat<Mat>
istrue
.Given a bitset
pt
(representing a row of a boolean matrix) and a boolean matrixx
, this function computes the row obtained by left multiplyingpt
by the matrixx
, and modifiesres
to contain the resulting bitset. This is equivalent to applying :cppImageRightAction
to the transpose ofx
.
- param res
bitset to contain the result.
- param pt
the bitset on which to act.
- param x
the matrix which is acting.
- returns
(None).
- complexity
O(r2) where r is the number of columns in
x
.