Oscar.jl
Oscar.jl copied to clipboard
Weil divisors
First step towards computation of linear systems on covered schemes.
- Introduces sheaves of ideals on covered schemes.
- Introduces Weil divisors on covered schemes.
- Introduces a prototype for linear systems of divisors.
- First methods to compute subsystems.
Note: This also contains an additional feature for MPolyQuoIdeals
: A hacky check for primality is introduced. To this end, I made that struct attributable. Please intervene, if you disagree! And it would be nice if someone with more insight rewrote that method more thoroughly. I will eventually open an issue for that.
To be evaluated by @simonbrandhorst .
If the WeilDivisor
would be implemented like the IdealSheaf
, there would be no need for the copy method. By this I mean that as mathematical objects they are immutable and to create a new one, one first creates the new dictionary and then from this the new object.
This is not only about style, but also important in the following situation. It might be that at some point WeilDivisor
gets more properties that would need to be updated once the underlying dictionary is changed. But this gets very fiddly and is in general annoying for developers.
I am sorry to not have marked this PR as a draft from the beginning. Either way, I think your comments so far will be very helpful.
Please make a separate pull request dealing with ideal sheaves. It will be easier to review for me.