#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.