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

Reply via email to