Column and row space

inline BMat8 libsemigroups::BMat8::col_space_basis() const noexcept

Find a basis for the column space of this.

This member function returns a BMat8 whose non-zero columns form a basis for the column space of this.

Complexity

Constant.

Parameters

(None)

Throws

(None) – This function is noexcept and is guaranteed never to throw.

Returns

A BMat8.

inline size_t libsemigroups::BMat8::number_of_rows() const noexcept

Returns the number of non-zero rows in this.

BMat8s do not know their “dimension” - in effect they are all of dimension 8. However, this member function can be used to obtain the number of non-zero rows of this.

See also

bmat8_helpers::number_of_cols and bmat8_helpers::minimum_dim.

Complexity

Constant.

Parameters

(None)

Throws

(None) – This function is noexcept and is guaranteed never to throw.

Returns

A size_t.

BMat8 libsemigroups::BMat8::row_space_basis() const noexcept

Find a basis for the row space of this.

This member function returns a BMat8 whose non-zero rows form a basis for the row space of this.

Complexity

Constant.

Parameters

(None)

Throws

(None) – This function is noexcept and is guaranteed never to throw.

Returns

A BMat8.

size_t libsemigroups::BMat8::row_space_size() const

Find the size of the row space of this.

See also

bmat8_helpers::col_space_size.

Complexity

\(O(n)\) where \(n\) is the return value of this function.

Parameters

(None)

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

Returns

A size_t.

std::vector<uint8_t> libsemigroups::BMat8::rows() const

Returns a vector containing the rows of this.

This member function returns a std::vector of uint8_ts representing the rows of this. The vector will always be of length 8, even if this was constructed with fewer rows.

Complexity

Constant.

Parameters

(None)

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

Returns

A std::vector<uint8_t>.