You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 re-evaluate 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.
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()
ornormal()
, automatically re-evaluate 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.
Component: symbolics
Keywords: pynac, hold
Issue created by migration from https://trac.sagemath.org/ticket/31597
The text was updated successfully, but these errors were encountered: