-
Notifications
You must be signed in to change notification settings - Fork 123
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
multi_hilbert_series: does not detect infinite dimensional case #2674
Comments
The solution seems to require checking whether there is a positive integer linear combination of the weights which gives a zero grading. Claus Fieker reports that this should be possible in Oscar (e.g. using some variant of |
@JohnAAbbott, @HechtiDerLachs You just forgot to require |
I have put a temporary fix inside the function |
After talking to @HechtiDerLachs we think that it makes most sense if the result of If every weight is non-negative then the Hilbert series of an ideal has numerator and denominator which are "normal" polynomials (rather than laurent polynomials). This may not hold for modules if there are negative shifts. Also a positive grading can contain negative weights, so laurent polynomials may be needed. How best to organize the |
This has been fixed by PR #2698 plus some other PRs |
Describe the bug
The normal Hilbert function (and Hilbert series) are not defined if there are homogeneous components of infinite dimension, and this can occur with a mixture of positive and negative weights. Currently a meaningless result is produced.
To Reproduce
Steps to reproduce the behaviour, please provide a code snippet that triggers the bug.
Expected behavior
An error should be signalled, e.g.
there are homogeneous components of infinite dimension
System (please complete the following information):
Additional context
Claus Fieker pointed out that the situation could be complicated: e.g. if in the example above use the ideal
I = ideal(y)
thenP/I
is canonically isomorphic toQQ[x]
which does have a well-defined Hilbert series. Using the actual implementation we obtain a result with a common factor between numerator and denominator: numer1-t^(-1)
and denom(1-t^(-1))*(1-t)
.Probably unrelated: should
hilbert_series
andmulti_hilbert_series
give errors if the chosen output ring does not have characteristic zero?The text was updated successfully, but these errors were encountered: