combinatorial species design decisions

43 views
Skip to first unread message

Martin R

unread,
Nov 17, 2024, 12:29:00 PM11/17/24
to sage-devel
I'm very interested in comments to https://github.com/sagemath/sage/pull/38544.

In short, the next design decision is the following:

I realize that I have no idea whether a species structure should have any structure at all.  I see the following two options:
1. `structures` indeed returns just arbitrary objects, only the species knows how to relabel a structure and how to check whether two structures are isomorphic.
2. `structures` returns `SpeciesStructure`s.  Such a `SpeciesStructure`
    - knows the species which produced it
    - knows its labels
    - knows how to print itself
    - knows how to relabel itself
    - can test whether it is isomorphic to another structure
    - can possibly return a canonical labelling of itself.

Special species classes, such as `SumSpecies`, `ProductSpecies` and `CompositionSpecies`, may provide additional methods, for example it could know the summands, factors, etc.

The current approach is the second one, and I'm leaning towards it, although this doesn't quite follow the math.  I think we could additionally add a `facade` option to the `structures` method or the species constructor itself.

Martin R

unread,
Nov 17, 2024, 3:22:35 PM11/17/24
to sage-devel
I just realized that there is no (proper) way to implement relabelling and isomorphism on the structure level.
Reply all
Reply to author
Forward
0 new messages