Open wdecker opened 1 year ago
@wdecker could you please provide an example that reproduces the problem?
Apparently there is still a (hypothetical?) example where comparison of elements will fail, because it does simplify(x) == simplify(y)
, and not simplify(x-y)
; but simplify
apparently right now only changes elements when they simplify to 0, but does not replace elements with a "normal form" (if that even make sense).
This also is a concern for hashing (to get a unique hash you need a unique normal form...)
Maybe a first step would be to construct an actual example where this happens, i.e., where this general simplify
method is triggered and not some specialization for it or for equality tests.
The function
simplify(f::MPolyQuoRingElem)
below is called simplify but simplifies only in the casef
is the zero class. The name is misleading and will lead to wrong results of functions such as==
.@HechtiDerLachs Should we rename the function? Or?