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

Remove field type-parameter for vectorspaces #83

Merged
merged 52 commits into from
Oct 5, 2023
Merged

Remove field type-parameter for vectorspaces #83

merged 52 commits into from
Oct 5, 2023

Conversation

lkdvos
Copy link
Collaborator

@lkdvos lkdvos commented Sep 27, 2023

This PR changes out the type-parameter-based approach to defining the underlying fields, in favor of accessing the field through a trait-based system. Specifically for the abstract vectorspace types, this allows for easier subtyping, and is warranted because these never really got used. CartesianSpace, ComplexSpace and GradedSpace all have fixed fields, which can easily be implemented case-by-case, and GeneralSpace still has the field parameter but this does not affect the other types.

Additionally, this also includes some promotion rules within the vector spaces, to allow operations between ProductSpace and ElementarySpace to be defined in a more conventional way, which is also more easily extended to new spacetypes.

Warning: this also includes some commits from PR #82, and should only be merged after that one is merged.

src/spaces/deligne.jl Outdated Show resolved Hide resolved
@lkdvos lkdvos marked this pull request as ready for review September 29, 2023 15:45
@lkdvos
Copy link
Collaborator Author

lkdvos commented Oct 4, 2023

I think this can be merged?

src/spaces/productspace.jl Outdated Show resolved Hide resolved
@Jutho
Copy link
Owner

Jutho commented Oct 4, 2023

I think this looks good, aside from my final question about flip(ProductSpace)

@lkdvos lkdvos merged commit ec40cea into master Oct 5, 2023
7 of 9 checks passed
@lkdvos lkdvos deleted the field-remove branch January 5, 2024 12:39
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

Successfully merging this pull request may close these issues.

3 participants