#16465: Category of classes of combinatorial structures
-------------------------------------+-------------------------------------
Reporter: elixyre | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-6.3
Component: categories | Resolution:
Keywords: combinatorics | Merged in:
Authors: Jean-Baptiste | Reviewers:
Priez | Work issues:
Report Upstream: N/A | Commit:
Branch: | 16685a3be9c5deee1b76dddc2adbe33a10d1ad94
u/elixyre/ticket/16465 | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by elixyre):
Replying to [comment:5 mantepse]:
> A comment about a comment in the code: I think it's a misconception that
a species is a "labelled structure". Clearly, I can consider every "class
of unlabelled structures" as a combinatorial species, albeit possibly not
in a very interesting way: simply let the symmetric group act trivially.
Ok you are right every class of combinatorial structures is a species (and
by default there an trivial action of $S_n$). But my opinion is most of
people don't know species and they want only to use/develop class of
structures (so roughly a disjoint union of graded set).
It is why I want make a distinction between species and class of
combinatorial structures.
Specially one problem if everything is species, that is one has to compute
each isomorphism type for every unlabeled class of objects! Most of the
time, we have already implemented this class! Furthermore, most of the
operation on unlabeled object are well defined: cartesian product, cauchy
product, sum, derivation, ... So if someone want use only an unlabeled
class it is possible to do it efficiently.
[[BR]]
Replying to [comment:6 mantepse]:
> I really would like to improve the usability of the species code, to
make this task simpler. But I do not yet understand: `binary_trees.py'
does not define a species, does it?
I have implemented a really simple example of class of structures in my
last commit
`mod:sage.categories.example.combinatorial_structures_compositions`:
>
||[http://git.sagemath.org/sage.git/commit/?id=16685a3be9c5deee1b76dddc2adbe33a10d1ad94
16685a3]||{{{Ticket 16465 : improve the category and give a framework of
class of combinatorial structures}}}||
I like this design (not only because it is mine). It is really simple and
understandable. If you have any comment... I want.
[[BR]]
> But I think it's a really bad idea to have something like "species" and
something like "combinatorial structures" side by side.
It is a bad idea to make a great distinction between `permutations as
simple combinatorial objects` and `permutations as species`!
And I don't want them side by side! I want say a species is a refinement
of a class of combinatorial structures.
[[BR]]
> > Furthermore, a set partition, a permutation, ... are structures of a
species. It would be nice to merge the module `sage.combinat.species`.
(That will be a second patch...).
>
> I'm not sure if I understand.
Sorry my sentence is wrong : "Set partitions, permutations have a
(mathematical) structure of species (so both are in the species category)"
There is no disadvantage to patch the usual sets as species!
[[BR]]
> however, it's holding me up from implementing multivariate species,
which are necessary to deal with most interesting structures.
> I admit that my second big holdup is that I find python a very very very
difficult language.
The fact is the Category framework of [comment: nthiery] is really a
usefull tool to do that! I want to implementing linear species... but with
category, that it is not necessary to reimplement everything from scratch
or nearly from. Multivariate, ordered, linear species are species with a
refinement of the category after that operations are still same!
[[BR]]
Obviously, I understand your problem is not mine, you want enumeration and
I want generation! And like I have already say:
>> There exists a deterministic way to define and extract some
coefficients in a generating series??
It was rhetoric... Until that is not user friendly and homogeneous that is
not possible to attune enumeration and generation...
--
Ticket URL: <http://trac.sagemath.org/ticket/16465#comment:7>
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.