Skip to content

libsemigroups/Semigroups.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semigroups.jl

Julia bindings for the libsemigroups C++ library.

What is libsemigroups?

Before explaining what Semigroups.jl is, it is first necessary to explain libsemigroups. libsemigroups is a C++17 library containing implementations of several algorithms for computing finite, and finitely presented, semigroups and monoids. The main algorithms implemented in libsemigroups are:

libsemigroups is partly based on Algorithms for computing finite semigroups, Expository Slides, and Semigroupe 2.01 by Jean-Eric Pin.

What is Semigroups.jl?

Semigroups.jl is a package for Julia 1.9+ exposing much (but not all) of the functionality of libsemigroups. It is built with the help of the excellent library CxxWrap.jl, for which we are very grateful.

The development version of Semigroups.jl is available on GitHub, and some related projects are here.

How to install Semigroups.jl

To install Semigroups.jl from GitHub:

using Pkg
Pkg.add(url="https://github.com/libsemigroups/Semigroups.jl")

For more detailed installation instructions, including prerequisites and troubleshooting, see the documentation.

Issues

If you find any problems with Semigroups.jl, or have any suggestions for features that you'd like to see, please use the issue tracker.

Acknowledgements

In addition to libsemigroups, there are several excellent projects that are utilised in the development of Semigroups.jl, specifically:

We would like to thank the authors and contributors of these projects!

Development

A Makefile is provided for common development tasks:

Command Description
make test Run the test suite
make docs Build documentation
make docs-serve Build and serve docs locally
make build Build C++ bindings
make clean Clean build artifacts
make format Format Julia and C++ code

About

Julia bindings for the libsemigroups C++ library for semigroups and monoids

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages