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.