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:  sage8.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 )
The aim is to integrate in the main Sage library the mature methods and examples for
 Htrivial monoids
 Rtrivial monoids
 Ltrivial monoids
 Jtrivial monoids
from the SageSemigroups package. https://github.com/nthiery/sagesemigroups
Change History (24)
comment:1 Changed 5 years ago by
 Branch set to u/virmaux/develop
comment:2 Changed 5 years ago by
 Branch changed from u/virmaux/develop to u/virmaux/monoids
comment:3 Changed 5 years ago by
 Commit set to 3b59784b0ca270e38aef2e80786e6505b9002e6b
 Dependencies set to 18265
comment:4 Changed 4 years ago by
 Commit changed from 3b59784b0ca270e38aef2e80786e6505b9002e6b to 4dbdfacf7aa77bc3b05f5a919814b1dc64fa6143
Branch pushed to git repo; I updated commit sha1. New commits:
4dbdfac  18001: merge with develop

comment:5 Changed 4 years ago by
 Commit changed from 4dbdfacf7aa77bc3b05f5a919814b1dc64fa6143 to c389ef30a730e50fbad47398e5bbb46d697040b4
comment:6 Changed 3 years ago by
 Dependencies changed from 18265 to #18265
 Milestone changed from sage6.6 to sage7.3
comment:7 Changed 3 years ago by
 Branch changed from u/virmaux/monoids to public/18001
 Commit changed from c389ef30a730e50fbad47398e5bbb46d697040b4 to 906e4f2aa39ec486b14f331a97d90551ea3dc932
 Dependencies #18265 deleted
 Milestone changed from sage7.3 to sage7.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:
906e4f2  Merge branch 'u/virmaux/develop' in 7.4.b0

comment:8 Changed 3 years ago by
 Commit changed from 906e4f2aa39ec486b14f331a97d90551ea3dc932 to 24a1fbd40e612a0af92319e7caaf31ca00d315a4
Branch pushed to git repo; I updated commit sha1. New commits:
24a1fbd  trac 18001 pep8 details

comment:9 Changed 3 years ago by
 Commit changed from 24a1fbd40e612a0af92319e7caaf31ca00d315a4 to 204dac1b6bc6dcc516e2e019d46013c7b8b9d7f4
Branch pushed to git repo; I updated commit sha1. New commits:
204dac1  trac 18001 some details

comment:10 Changed 22 months ago by
 Description modified (diff)
comment:11 Changed 22 months ago by
 Description modified (diff)
comment:12 Changed 22 months ago by
 Description modified (diff)
comment:13 Changed 22 months ago by
 Milestone changed from sage7.4 to sage8.2
comment:14 Changed 22 months ago by
 Cc tscrim added
comment:15 Changed 19 months ago by
 Commit changed from 204dac1b6bc6dcc516e2e019d46013c7b8b9d7f4 to f4ea92841b55ff57a308ad8328000a90f5dbc7d7
comment:16 Changed 19 months ago by
 Commit changed from f4ea92841b55ff57a308ad8328000a90f5dbc7d7 to a0878abf1b7a9f7403d918720aa23439486dc97f
Branch pushed to git repo; I updated commit sha1. New commits:
a0878ab  trac 18001 fix import of GF

comment:17 Changed 19 months ago by
 Commit changed from a0878abf1b7a9f7403d918720aa23439486dc97f to 400e167e0d14b7c1ae76b735d5c2c09958745c5d
Branch pushed to git repo; I updated commit sha1. New commits:
400e167  trac 18001 fix my own mistake

comment:18 Changed 19 months ago by
there is one nonobvious failing doctest remaining..
comment:19 Changed 19 months ago by
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
 Commit changed from 400e167e0d14b7c1ae76b735d5c2c09958745c5d to 85ee1636065c4b6f6ecaca7250733eecc3904311
Branch pushed to git repo; I updated commit sha1. New commits:
85ee163  trac 18001 some doc details

comment:21 Changed 19 months ago by
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
 Commit changed from 85ee1636065c4b6f6ecaca7250733eecc3904311 to e473ebf52f0a594dda2c6d31071b79527875b357
Branch pushed to git repo; I updated commit sha1. New commits:
e473ebf  Changing the category of Rtrivial monoids example.

comment:23 Changed 19 months ago by
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 finitelygenerated 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
and also a superfluous import
+src/sage/categories/finite_semigroups.py:16: 'sage.categories.finite_enumerated_sets.FiniteEnumeratedSets' imported but unused
New commits:
Files for H, J, R, L trivial monoids, beginning of the implementation