#19613: Implement basic representations of semigroups
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.1
      Component:  group theory       |   Resolution:
       Keywords:  representation,    |    Merged in:
  semigroups,                        |    Reviewers:
        Authors:  Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  9f2ff6e14f3376d420dbe87715a0bd112e0ccdb7
  public/representations/basic_implementation-19613|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by darij):

 * keywords:  representation => representation, semigroups,
 * milestone:  sage-6.10 => sage-7.1


Comment:

 Replying to [comment:4 tscrim]:
 > Replying to [comment:2 darij]:
 > > Can you document the `left_repr` keyword in the
 `regular_representation` method in `semigroups.py`?
 >
 > Added.

 OK, weird. Why do you call `left` one time and `left_repr` another? Also,
 it is still undocumented one time in `semigroups.py` (there are two
 `regular_representation` methods in that file; sorry for missing that).

 > > In the `_acted_upon_` of `TrivialRepresentation`, I would use a `sum`
 method instead of the `sum` function (I hope it would involve less
 indirection/ducktyping).
 >
 > That isn't ducktyping (it's the python `sum` not the symbolic `sum` that
 is at the top-level interface). Also, all `self.base_ring().sum(elts)`
 does is call `sum(elts, self.zero())` so it involves one further level of
 indirection.

 Ah, you're perfectly right.


 > > I have recently wrotten some really sloppy code to build a finite
 semigroup out of a multiplication table (I hoped to use it on #19892, but
 then I found that semigroups lack the support for that, so I ended up
 avoiding it). I'm wondering -- would this be useful for this patch? At the
 very least it could give us a way to doctest the methods. I could polish
 the code and submit it here; I just want to make sure it won't be in vain,
 as I have a hard time believing that there is no such thing in Sage
 already...
 >
 > There is code in `algebras/finite_dimensional_algebras` which
 essentially does that. We probably could separate that code into the
 semigroup part and the algebra part (and combine it with your code).
 However, I think that is better for a separate ticket because it won't
 directly apply to this (could be good for extensive testing of this, but I
 think that could be overkill).

 I guess you're right -- groups are probably enough for doctesting.

 I am aware of `algebras/finite_dimensional_algebras` being essentially the
 linear version of what I wanted to do. (This is what I ended up using in
 #19892, since I really cared about the face semigroup algebra, not the
 face semigroup.) Still I wanted the non-linear version, since having a
 semigroup algebra without its semigroup looks really weird.

 Nicolas, is this something you have in your code?

--
Ticket URL: <http://trac.sagemath.org/ticket/19613#comment:6>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to