Opened 5 years ago

Last modified 19 months ago

#18001 new enhancement

Implement category for H, L, R, J trivials monoids

Reported by: virmaux Owned by:
Priority: major Milestone: sage-8.2
Component: categories Keywords: monoids, days64
Cc: nthiery, hivert, tscrim Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: public/18001 (Commits) Commit: e473ebf52f0a594dda2c6d31071b79527875b357
Dependencies: Stopgaps:

Description (last modified by chapoton)

The aim is to integrate in the main Sage library the mature methods and examples for

  • H-trivial monoids
  • R-trivial monoids
  • L-trivial monoids
  • J-trivial monoids

from the Sage-Semigroups package. https://github.com/nthiery/sage-semigroups

Change History (24)

comment:1 Changed 5 years ago by virmaux

  • Branch set to u/virmaux/develop

comment:2 Changed 5 years ago by virmaux

  • Branch changed from u/virmaux/develop to u/virmaux/monoids

comment:3 Changed 5 years ago by nthiery

  • Commit set to 3b59784b0ca270e38aef2e80786e6505b9002e6b
  • Dependencies set to 18265

New commits:

3b59784Files for H, J, R, L trivial monoids, beginning of the implementation

comment:4 Changed 4 years ago by git

  • Commit changed from 3b59784b0ca270e38aef2e80786e6505b9002e6b to 4dbdfacf7aa77bc3b05f5a919814b1dc64fa6143

Branch pushed to git repo; I updated commit sha1. New commits:

4dbdfac18001: merge with develop

comment:5 Changed 4 years ago by git

  • Commit changed from 4dbdfacf7aa77bc3b05f5a919814b1dc64fa6143 to c389ef30a730e50fbad47398e5bbb46d697040b4

Branch pushed to git repo; I updated commit sha1. New commits:

c6ce64318001: rebase with develop
30c19af18001: rebase
c389ef318001: rebase (h_trivial)

comment:6 Changed 3 years ago by tscrim

  • Dependencies changed from 18265 to #18265
  • Milestone changed from sage-6.6 to sage-7.3

comment:7 Changed 3 years ago by chapoton

  • Branch changed from u/virmaux/monoids to public/18001
  • Commit changed from c389ef30a730e50fbad47398e5bbb46d697040b4 to 906e4f2aa39ec486b14f331a97d90551ea3dc932
  • Dependencies #18265 deleted
  • Milestone changed from sage-7.3 to sage-7.4

I have made a cleaner branch, starting from u/virmaux/develop.

I have also corrected a few typos in the new files.


New commits:

906e4f2Merge branch 'u/virmaux/develop' in 7.4.b0

comment:8 Changed 3 years ago by git

  • Commit changed from 906e4f2aa39ec486b14f331a97d90551ea3dc932 to 24a1fbd40e612a0af92319e7caaf31ca00d315a4

Branch pushed to git repo; I updated commit sha1. New commits:

24a1fbdtrac 18001 pep8 details

comment:9 Changed 3 years ago by git

  • Commit changed from 24a1fbd40e612a0af92319e7caaf31ca00d315a4 to 204dac1b6bc6dcc516e2e019d46013c7b8b9d7f4

Branch pushed to git repo; I updated commit sha1. New commits:

204dac1trac 18001 some details

comment:10 Changed 22 months ago by nthiery

  • Description modified (diff)

comment:11 Changed 22 months ago by nthiery

  • Description modified (diff)

comment:12 Changed 22 months ago by chapoton

  • Description modified (diff)

comment:13 Changed 22 months ago by chapoton

  • Milestone changed from sage-7.4 to sage-8.2

comment:14 Changed 22 months ago by tscrim

  • Cc tscrim added

comment:15 Changed 19 months ago by git

  • Commit changed from 204dac1b6bc6dcc516e2e019d46013c7b8b9d7f4 to f4ea92841b55ff57a308ad8328000a90f5dbc7d7

Branch pushed to git repo; I updated commit sha1. New commits:

42b6554Merge branch 'public/18001' of ssh://trac.sagemath.org:22/sage into 18001
f4ea928trac 18001 fix syntax error

comment:16 Changed 19 months ago by git

  • Commit changed from f4ea92841b55ff57a308ad8328000a90f5dbc7d7 to a0878abf1b7a9f7403d918720aa23439486dc97f

Branch pushed to git repo; I updated commit sha1. New commits:

a0878abtrac 18001 fix import of GF

comment:17 Changed 19 months ago by git

  • Commit changed from a0878abf1b7a9f7403d918720aa23439486dc97f to 400e167e0d14b7c1ae76b735d5c2c09958745c5d

Branch pushed to git repo; I updated commit sha1. New commits:

400e167trac 18001 fix my own mistake

comment:18 Changed 19 months ago by chapoton

there is one non-obvious failing doctest remaining..

comment:19 Changed 19 months ago by tscrim

The failure comes from the fact that the category of RTrivialMonoids().Finite() is not enumerated, as opposed to the category of Semigroups().Finite().FinitelyGenerated(). So I think you just have to add .FinitelyGenerated().

From the code, it also looks like you want JTrivialMonoids().Finite() to imply FinitelyGenerated() since you are giving it a distinguished generating set.

Quick doc comment: Sphinx doesn't like *`H`-preorder*; instead use `H`-*preorder*. Also, typo preoder.

comment:20 Changed 19 months ago by git

  • Commit changed from 400e167e0d14b7c1ae76b735d5c2c09958745c5d to 85ee1636065c4b6f6ecaca7250733eecc3904311

Branch pushed to git repo; I updated commit sha1. New commits:

85ee163trac 18001 some doc details

comment:21 Changed 19 months ago by chapoton

I have fixed your doc comments.

Concerning the failing doctest, I have tried adding .FinitelyGenerated() but this does not fix it.

comment:22 Changed 19 months ago by git

  • Commit changed from 85ee1636065c4b6f6ecaca7250733eecc3904311 to e473ebf52f0a594dda2c6d31071b79527875b357

Branch pushed to git repo; I updated commit sha1. New commits:

e473ebfChanging the category of R-trivial monoids example.

comment:23 Changed 19 months ago by tscrim

Well, it does fix one problem: the enumeration and the lack of a list() method. (I'm not sure if that means some of these methods should actually belong to the finite finitely-generated semigroups category, and I have swept the problem under the run.)

However, it then shows another problem, which seems to be rooted in the test itself. The method j_transversal_of_idempotents returns a list, but this test seems to be expecting a dict. So either the j_transversal_of_idempotents should now return a family whose keys are index_of_regular_j_class or the test itself needs to change. (BTW, there is a bug with j_transversal_of_idempotents; the output is cached, but it is a mutable list.)

comment:24 Changed 19 months ago by chapoton

and also a superfluous import

+src/sage/categories/finite_semigroups.py:16: 'sage.categories.finite_enumerated_sets.FiniteEnumeratedSets' imported but unused
Note: See TracTickets for help on using tickets.