.. Copyright (c) 2019-22, J. D. Mitchell

   Distributed under the terms of the GPL license version 3.

   The full license is in the file LICENSE, distributed with this software.

   This file was auto-generated by docs/generate_from_yml.py, do not edit.

BMat8
=====

.. doxygenclass:: libsemigroups::BMat8
   :project: libsemigroups

.. cpp:namespace:: libsemigroups::BMat8


Constructors
------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`BMat8() noexcept = default`
     - Default constructor.


   * - :cpp:member:`BMat8(BMat8 const&) noexcept = default`
     - Default copy constructor.


   * - :cpp:member:`BMat8(BMat8&&) noexcept = default`
     - Default move constructor.


   * - :cpp:member:`BMat8(std::vector<std::vector<bool>> const&)`
     - A constructor.


   * - :cpp:member:`BMat8(uint64_t) noexcept`
     - Construct from uint64_t.


   * - :cpp:member:`operator=(BMat8 const&) noexcept = default`
     - Default copy assignment operator.


   * - :cpp:member:`operator=(BMat8&&) noexcept = default`
     - Default move assignment operator.



Static member functions
-----------------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`one(size_t) noexcept`
     - Returns the identity :cpp:any:`BMat8` .


   * - :cpp:member:`random()`
     - Construct a random :cpp:any:`BMat8` .


   * - :cpp:member:`random(size_t)`
     - Construct a random :cpp:any:`BMat8`  of dimension at most ``dim``.



Initialization
--------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`set(size_t, size_t, bool)`
     - Sets the ( ``i`` , ``j`` )th position to ``val``.


   * - :cpp:member:`swap(BMat8&) noexcept`
     - Swaps ``this`` with ``that``.



Operators
---------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`get(size_t, size_t) const noexcept`
     - Returns the entry in the ( ``i`` , ``j`` )th position.


   * - :cpp:member:`operator!=(BMat8 const&) const noexcept`
     - Returns ``true`` if ``this`` does not equal ``that``.


   * - :cpp:member:`operator*(BMat8 const&) const noexcept`
     - Returns the matrix product of ``this`` and ``that``.


   * - :cpp:member:`operator<(BMat8 const&) const noexcept`
     - Returns ``true`` if ``this`` is less than ``that``.


   * - :cpp:member:`operator<<(std::ostream&, BMat8 const&)`
     - Insertion operator.


   * - :cpp:member:`operator<<(std::ostringstream&, BMat8 const&)`
     - Insertion operator.


   * - :cpp:member:`operator==(BMat8 const&) const noexcept`
     - Returns ``true`` if ``this`` equals ``that``.


   * - :cpp:member:`operator>(BMat8 const&) const noexcept`
     - Returns ``true`` if ``this`` is greater than ``that``.


   * - :cpp:member:`to_int() const noexcept`
     - Returns the integer representation of ``this``.


   * - :cpp:member:`transpose() const noexcept`
     - Returns the transpose of ``this``.



Column and row space
--------------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`col_space_basis() const noexcept`
     - Find a basis for the column space of ``this``.


   * - :cpp:member:`number_of_rows() const noexcept`
     - Returns the number of non-zero rows in ``this``.


   * - :cpp:member:`row_space_basis() const noexcept`
     - Find a basis for the row space of ``this``.


   * - :cpp:member:`row_space_size() const`
     - Find the size of the row space of ``this``.


   * - :cpp:member:`rows() const`
     - Returns a vector containing the rows of ``this``.



Miscellanea
-----------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`is_regular_element() const noexcept`
     - Check whether ``this`` is a regular element of the full boolean matrix monoid of appropriate dimension.



.. toctree::
   :hidden:

   libsemigroups__bmat8__constructors.rst
   libsemigroups__bmat8__static_member_functions.rst
   libsemigroups__bmat8__initialization.rst
   libsemigroups__bmat8__operators.rst
   libsemigroups__bmat8__column_and_row_space.rst
   libsemigroups__bmat8__miscellanea.rst
