#10193: Create the category of SetsWithGrading
---------------------------------------------------------------+------------
Reporter: nthiery | Owner:
sage-combinat
Type: enhancement | Status:
needs_work
Priority: major | Milestone:
sage-5.10
Component: combinatorics | Resolution:
Keywords: categories, enumerated sets, sd35.5, days45 | Work issues:
Report Upstream: N/A | Reviewers:
Nicolas Borie, Travis Scrimshaw
Authors: Nicolas M. ThiƩry, Vincent Delecroix | Merged in:
Dependencies: #6495 #13605 | Stopgaps:
---------------------------------------------------------------+------------
Changes (by tscrim):
* status: needs_review => needs_work
* reviewer: Jason Bandlow, Franco Saliola, ... => Nicolas Borie, Travis
Scrimshaw
Comment:
Hey,
A few comments/questions:
- I prefer the name `GradedSets` over `SetsWithGrading`, it's a more
natural name to me.
- The example, I don't think there should be the need for another
`NonNegativeIntegers` class. Can't we just use the existing
`sage.sets.NonNegativeIntegers` with the required methods and placed in
this category?
- Similar to above, I'd like to see all sets which belong actually into
this category. Or at least a few more of the big classes.
- Grade should be implemented as an abstract Element method
- I don't like the default implementation of `graded_component()` since it
assumes the first argument of subset (which may not be implemented) is the
graded component. If you want to use the `subset()` method, you should
call it with `self.subset(grade=grade)`.
- It's not well documented what methods must be implemented. The
"automatic" way is to make them `@abstract_method`s.
Here's also some more wish-list type things that I'd like to see, but can
wait for a followup ticket:
- Simple API for grading shifts
- Checking that morphisms preserve grading
- Make `degree()` call `grade()` (thus act like an alias, unfortunately in
categories you can't simply make an alias by `degree = grade` [it will
reference the wrong function]).
Thanks,[[BR]]
Travis
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10193#comment:25>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.