Skip to content

Latest commit

 

History

History
86 lines (57 loc) · 2.93 KB

imageleftaction.rst

File metadata and controls

86 lines (57 loc) · 2.93 KB

ImageLeftAction

This struct is a specialisation of :cppImageLeftAction for boolean matrices and containers of bitsets.

tparam Container

a container type where :cppIsBitSet\<typename Container::value_type> is true. For example, Container might be detail::StaticVector1<BitSet<N>, N> or std::vector<BitSet<N>> for some value of N with 0 ≤ N ≤ 64.

tparam Mat

a type such that :cppIsBMat<Mat> is true.

Given a row basis pt and a boolean matrix x, this function computes the row basis of the space obtained by left multiplication of the rows in pt by the matrix x, and modifies res to contain the resulting row basis. This is equivalent to applying :cppImageRightAction to the transpose of x.

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 in x.

This struct is a specialisation of :cppImageLeftAction 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 :cppIsBMat<Mat> is true.

Given a bitset pt (representing a row of a boolean matrix) and a boolean matrix x, this function computes the row obtained by left multiplying pt by the matrix x, and modifies res to contain the resulting bitset. This is equivalent to applying :cppImageRightAction to the transpose of x.

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.