Conversation
| const PolynomialRing *P = h->get_ring()->cast_to_PolynomialRing(); | ||
|
|
||
| exponents_t exp = newarray_atomic(int, P->n_vars()); | ||
| exponents_t exp = new int[P->n_vars()]; |
There was a problem hiding this comment.
What's the reason behind this change? If this is correct in this case I wonder about tons of other exponents_t initializations which use newarray_atomic (only three exceptions, and this makes it four). The comment before newarray_atomic in newdelete.hpp says:
// this replaces all uses of the construction "new T[n]", with T containing NO pointers.
| (canUseHilbertHint, Module) | ||
| (canUseHilbertHint, Matrix) | ||
| Headline | ||
| whether certain Groebner computations can make use of the Hilbert function |
There was a problem hiding this comment.
I suspect nobody will actually find this node. How about this: add the example of passing the Hilbert option to one of the many nodes about Grobner bases instead, or add a separate node for the option [gb, Hilbert] and link to it from the documentation of gb. I would imagine canUseHilbertHint can stay internal (except imported when needed by MinimalPrimes) in that case.
|
Should ii22 : assert checkHilbertHint generators graphIdeal f
../../../../../Macaulay2/tests/normal/ker.m2:24:23:(3):[5]: error: no method for adjacent objects:
checkHilbertHint (of class Symbol)
SPACE | -p_0^4+p_1 -p_0^5+p_2 -p_0^6+p_3 | (of class Matrix) |
This PR should fix issues #3937, #1935. It removes the crash when groebner bases are given a Hilbert function "hint", and the data is not correct (so likely gives errors, but still, it should not crash).
Additionally:
canUseHilbertHinthas been added, documented, which allows one (and the GB code) to decide if in a given situation, the Hilbert hint is usable.