Pynac is buggy inside a hold context
The ginac documentation says "GiNaC performs some automatic transformations on expressions, to simplify them and put them into a canonical form. ... This behavior is usually referred to as automatic or anonymous evaluation. ... The general rule is that when you construct expressions, GiNaC automatically creates them in canonical form, ... All GiNaC methods that transform expressions, like subs()
or normal()
, automatically reevaluate their results."
It seems that some (many?) pynac methods assume that their inputs have been sanitized in this way. Since applying a hold context disables this automatic evaluation, these methods may silently produce incorrect results inside a hold context. Examples of this can be seen in #31554.
Change History (5)
Milestone: 
sage9.4 →
sage9.5

Milestone: 
sage9.5 →
sage9.6

Milestone: 
sage9.6 →
sage9.7

Milestone: 
sage9.7 →
sage9.8
