#17367: Classes of combinatorial structures
-------------------------------------+-------------------------------------
Reporter: elixyre | Owner:
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.9
Component: combinatorics | Resolution:
Keywords: | Merged in:
Authors: Jean-Baptiste | Reviewers:
Priez | Work issues:
Report Upstream: N/A | Commit:
Branch: | c13301a1fe97f639089a691bd0f75d78cc8aa6a0
u/elixyre/class_of_combinatorial_structures| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by elixyre):
Replying to [comment:20 vdelecroix]:
> This is not true. It is provided by the parents that belong to the
category. You have no category `Sets with grading NN`. Whereas you have
> {{{
> sage: Modules(ZZ)
> Category of modules over Integer Ring
> sage: Modules(Zmod(4)['a','b'])
> Category of modules over Multivariate Polynomial Ring
> in a, b over Ring of integers modulo 4
> }}}
> In the case of `SetsWithGrading` the grading set is not attached to the
category. It is just a mandatory attribute (in the common sense) of the
parents of this category.
I understand your point. What I say that it is already a method which
provides to the parent a default grading set: `.grading_set()`.
>
> > > - adding an axiom `FiniteSlice` to `SetsWithGrading`
> >
> > I also wish to provide a category `GradedComponent` (or `Subset`) with
methods `ambient` (which return the set with grading) and `grade` (why
not). Where put this class:
>
> Do you mean a method of the parent belonging to that category?
>
> - For the `.ambient()` method, this is not specific to the parent that
are the graded component of a graded set. The lack is that there is
nothing right now for a parent that needs to be seen as a subset of
another parent. That would be the most natural. The facades are already
close to that.
How to use facade such that there is an `ambient` method?
>
> - Do you really want to impose a `.grade()` method in each of the graded
component?
Yes, this should be coherent with the degree.
>
> - On the other hand, I think that there should be a special mechanism in
`SetsWithGrading` to be able to specify any restriction on the category of
the graded components. That would be the most natural and certainly the
easiest to implement.
I'm not sure to understand what you mean.
>
> > It seems natural to have `GradedComponent` as a nested class of
`SetWithGrading`, right? (There is no reason that it appears elsewhere.)
>
> I don't think that this `GradedComponent` should exist. As I said above,
it would be better to have something to be able to specify an ambient
parent.
Ok, so have you any idea about how to do that? (I don't understand the
mean `facade` or if I understand this is useless... this is just a
definition without any code...)
> [...]
> When we will converge to something reasonable, it would be better to
split the features:
> - a ticket to implement being subset of a parent (i.e. the `ambient`
method)
> - a ticket to implement the category restrictions on the slices
> - etc
>
> The most important is to actually '''not''' focus on your particular
case if you want to implement something useful for categories.
Please, could you provide this splitting and propose some code to start?
(I'm lost in the sage maze... show me the line)
I don't care about the path, but at the end, a '''denumerable set''' `C`
(or any other name which means graded set with finite graded component)
should provide (from a category) a method: `CJ = C.graded_component(J)`
(with `J` an index whatever the grading set) and from this graded
component we should go back to the ''facade'' `CJ.ambient() == C` and we
must be able to control that `CJ in FiniteSets()`.
--
Ticket URL: <http://trac.sagemath.org/ticket/17367#comment:21>
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.