I just realized that there is no (proper) way to implement relabelling and 
isomorphism on the structure level.

On Sunday, 17 November 2024 at 18:29:00 UTC+1 Martin R wrote:

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

-- 
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 sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/fc4adc94-1e62-4cec-8f6d-d2caf5f50cd1n%40googlegroups.com.

Reply via email to