#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: | 38529351ae5581559a6a33a6fc6fe825b974ef81
public/representations/basic_implementation-19613| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by darij):
Replying to [comment:14 tscrim]:
> Replying to [comment:13 darij]:
> > Replying to [comment:12 tscrim]:
> > > I would go with 1. I did not expose it because the representation
behaves like a module (you better not say something about ducktyping here)
and it is there only for internal use. You're getting to one of the
reasons why `TrivialRepresentation` is not a subclass of `Representation`.
If you really feel that it should be exposed, then I would have `module()`
return `self` so there is a consistent API. (Unfortunately I don't think
we have the infrastructure in place to setup the necessary coercions.)
> >
> > Wait, what? `TrivialRepresentation` does not inherit from
`Representation`? This I really don't like. Particularly if you don't
expose `self._module`, there should be no reason to keep the trivial one
out of it.
>
> Why should it? They are completely different implementations.
Implementations yes, but the underlying concepts should be of the same
type. One of the next steps will be a direct sum of two representations,
for example. You do want to be able to add a regular and a trivial
representation, I assume?
> > S3. At some point we will need a way to tell if a given representation
is left or right. I think this should be a property (not underscored)
which is a boolean or `None` (for two-sided). Do you agree?
>
> If anything, this should be a method, not an (hidden) attribute.
However, I do agree we need something. Althought AFAIK this is the first
time we have a left but not necessarily a right module.
>
> > S4. In the `_acted_upon_` of `TrivialRepresentation`, does
`_from_dict(d)` do the right thing when `d == 0` ?
>
> This will never happen as `monomial_coefficients` returns a `dict`.
However, I do see a potential when acting on the zero element. I will
check/doctest this.
You multiply all the entries of that `dict` with
`sum(scalar.coefficients())`. If this sum is 0, then it's suddenly a
`dict` full of zeroes.
>
> (I'm waiting for `7.1.beta1` to come out before I make any changes. You
know as soon as I bump my Sage to beta0, beta1 will be released...)
--
Ticket URL: <http://trac.sagemath.org/ticket/19613#comment:15>
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.