#15289: Implement indexed monoids
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  algebra            |   Resolution:
       Keywords:  days54             |    Merged in:
        Authors:  Travis Scrimshaw   |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  public/monoids/15289-indexed       |  73a4e48f890a31cafbf4e8d176ac69c3b3171cbb
   Dependencies:  #15309, #15169,    |     Stopgaps:
  #16349                             |
-------------------------------------+-------------------------------------

Comment (by tscrim):

 Hey Nicolas,

 Thanks for getting back to this ticket. I know how hard it can be to find
 time.

 Replying to [comment:55 nthiery]:
 > - Using `dict_addition` whenever meaningful

 Done.

 > - Implementing `Groups().Commutative().free()` rather than
 `Groups().free(commutative=True)` now that #10963 is in (I can do that if
 you want)

 Done (now that #10963 is in; big yay!). I also cleaned up some of the
 logic and made the `*.free()` always return the indexed monoid/group
 except for `Groups.free(n, names)` since IMO (perhaps not-so-humble) the
 indexed version is better since it's a proper parent and more general. I
 can revert this if desired.

 > - Putting index_set as first argument to the `free` methods to make the
 following work properly:
 >    {{{
 >        sage: C.free([1,2,3])
 >        Free monoid indexed by None
 >    }}}

 I had missed this somehow for monoids (but I had done it for groups).

 >   By the way, with no argument there should either be some reasonable
 default, or an error:
 >    {{{
 >        sage: C.free()
 >        Free monoid indexed by None
 >    }}}

 Now it raises an error.

 > - Construction of the generators by `F(i)` (see [comment:37]).

 I've made it a forbidden construction.

 > - [comment:32]

 I think we should just use `CombinatorialFreeModule` over `ZZ` for this,
 or do you think it would be too heavy-handed? However I don't think it
 would be difficult to do (following your comment).

 Best,[[BR]]
 Travis

--
Ticket URL: <http://trac.sagemath.org/ticket/15289#comment:57>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to