James Mitchell
James Mitchell
@nthiery if you felt like rebasing the binder branch onto master, this would be awesome. If not, we'll get around to it eventually.
It's seemingly not possible to do `POSITIVE_INFINITY >= NEGATIVE_INFINITY` at present.
It'd be great to have C-bindings for `libsemigroups`, this would make it more straightforward to interface with other languages (such as, for example, Clojure @dersu).
Looking at the log on appveyor: ~~~~ 41.147 s: Semigroup 72: regular boolean mat monoid 4 using BMat8 0.128 s: Semigroup 73: regular boolean mat monoid 4 using BooleanMat ~~~~...
The idea being to avoid the random travis crashes reported at: https://github.com/gap-packages/Semigroups/issues/634 using @fingolfin's suggestion that the allocator would trigger a GASMAN collection if it received an out of memory...
This would return `true` if the input digraph `D` satisfies `D = DigraphTransitiveReduction(D)`, but should be implemented in a similar way to `IsTransitiveDigraph`.
For example, ~~~ gap> DigraphHomomorphism(NullDigraph(2), NullDigraph(64)); IdentityTransformation gap> time; 1565 ~~~ This seems to be because the homomorphism finding code finds a stabiliser chain for the symmetric group on 64...
This is WIP
For consistency...
~~~ In [37]: from libsemigroups_pybind11 import Presentation, presentation, KnuthBendix ...: p = Presentation('abcdefghi') ...: presentation.add_rule(p, 'd', 'ffg') ...: presentation.add_rule(p, 'bcbc', 'cc') ...: presentation.add_rule(p, 'bbb', 'd') ...: presentation.add_rule(p, 'biib', 'e') ...:...