algebraixlib.algebras package

This package contains modules that represent algebras and their operations.

The algebra modules contain a class Algebra that contains the operations that are formally part of the given algebra (that is, they are closed within that algebra). For convenience, these functions are also exposed at the module level. (We collect them in the Algebra class mainly for documentation purposes.)

Besides the mathematical operations of a given algebra (in Algebra), we also provide the following types of functions that are related to the algebra, but are not members of it:

  • Functions that return metadata. For example, all our algebras contain an is_member function that returns True if the argument is a member of the given algebra’s ground set. This function is not mathematically an operation of the algebra.
  • Other functions that are mathematically related, but have arguments or return results that are not members of the ground set. For example, the get_lefts() function of the algebra of relations returns a result that is not an element of the algebra’s ground set.

The algebras that are provided are:

Additional modules:

  • properties: Functions that return the value of a property for a given MathObject. They redirect to the appropriate algebra.