Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module specification #91

Open
dalcde opened this issue Dec 18, 2019 · 0 comments
Open

Module specification #91

dalcde opened this issue Dec 18, 2019 · 0 comments

Comments

@dalcde
Copy link
Collaborator

dalcde commented Dec 18, 2019

This is part of ongoing work to tidy up how we specify modules, with the first (experimental) commit being 805a316 . At this point I will just raise a few concerns I have, without making any concrete suggestions. I will start writing down actual specifications once opinions are collected.

One issue with the existing specification is that the list of basis elements is given by an object. By definition, the keys in a JSON object are unordered, but serde happens to preserve the order we wrote them in. The ordering of the generators is very important, because changing the order of the basis elements (within the same degree) changes the ordering of the basis in cohomology, which would invalidate previously saved calculations. This issue prevents us from directly parsing the gens object into a Hashmap<String, i32>, because this breaks ordering.

Another issue is that we will want to differentiate between "modules" and "a specification of what to compute". This will be relevant when we gain the ability to compute Ext(M, N), where we have to specify two modules. This should also allow for better ways to specify derived modules (e.g. the derived cofiber of a map between two different modules). On the other hand, we want to ensure our specifications wouldn't be too verbose in the "main" use case of Ext(M, k).

Finally, with future compatibility in mind, it would be nice if this would accommodate algebras and their modules that are very distinct from the Steenrod algebra. At the moment, a lot of what we do uses the fact that the Adem basis and Milnor basis ultimately specify the same algebra, so some of the specification can be shared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant