row_space_size

template<typename Mat>
size_t row_space_size(Mat const &x)

Returns the size of the row space of the matrix x. This is currently only implemented for types of matrix Mat where IsBMat<Mat> is true. This function template is defined in namespace matrix_helpers.

Parameters

x – the matrix

Returns

A value of type size_t.

Exceptions

This function guarantees not to throw a LibsemigroupsException. It might throw std::bad_alloc if the algorithm cannot allocate enough memory.

Complexity

\(O(mn)\) where \(m\) is the size of the row basis of x and \(n\) is the size of the row space.

Warning

If \(k\) is the dimension of the matrix x, then \(n\) can be as large as \(2 ^ k\).

Example

auto x = BMat<>::make({{1, 0, 0}, {0, 0, 1}, {0, 1, 0}});
matrix_helpers::row_space_size(x); // returns 7