Hi,
I do like the project find_stat but do not like the way it intends to do
it. In that sense, I mostly agree with Nathann objections.
Following Thierry, why combinatorial maps are not implemented as morphisms
between two proper parents ? We could add some semantic to morphisms
(injectivity/surjectivity/bijectivity, ...) which is definitely useful.
Note that some semantic is already there as a morphism might be a map
between sets or a map between between graded objects. It is possible to
implement a decorator that actually creates a morphism from a method
(@morphism_from_method) and cache it somewhere. I think that it should not
transform a method to a combinatorial map (which was one of the main
Nathann's objection) but it might be useful that such decorator exists.
Then, the problem is what method is not an actual morphism between two
parents (do we want decorators everywhere) ? Where do we register the
morphisms (in the parent, in a database) ?
Another problem is that given a parent, it is not possible to determine all
the morphisms from or to that parent ("possible" here means that such
function will never exists, because most of the objects and morphisms are
dynamically created with the coercion framework and that set of morphisms
is potentially infinite). Nevertheless, coercion framework takes care about
somewhat "natural" morphisms and combinatorial maps are somewhat opposite
(ie non trivial transformations). But still, some semantic might be applied
to coercion morphisms.
There are several obstruction to such project:
- an object (let say the partition [3,2,1]) may have several parent
(Partitions of 6, Partitions graded by the length, ...) but the
combinatorial map exists somewhat independently of the parent
- we need to convince Nathann that it would be good to have the parent
Graphs ;-)
Best
Vincent
--
You received this message because you are subscribed to the Google Groups
"sage-devel" 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-devel.
For more options, visit https://groups.google.com/groups/opt_out.