id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
11651 Decide what to do with e^(y=x) kcrisman burcin "[http://groups.google.com/group/sage-support/browse_thread/thread/641c16b1d5c9f026 This sage-support thread] describes the following problem:
{{{
sage: var('y')
y
sage: (y==x).log()
log(y == x)
sage: (y==x).log().simplify() # just sends to Maxima and back to Sage
log(y) == log(x)
sage: (y==x).exp()
e^(y == x)
sage: (y==x).exp().simplify() # just sends to Maxima and back to Sage
TypeError: unable to make sense of Maxima expression 'e^(y=x)' in Sage
}}}
Basically, one can consider the problem in two ways - a Sage bug or a Maxima bug/feature. Depends on how you look at it.
* Option 1: We don't expect an = sign inside of expressions in our parser in sage/misc/parser.py. Once you leave Parser.p_eqn, there is a lot of jumping around that happens, but it never gets back there, and that is the only place that replaces = with ==. So we should fix that.
* Option 2: Maxima erroneously doesn't change `e^(y=x)` to `e^y=e^x`. With log, it does:
{{{
sage: var('y'); a = (y==x).log()
sage: a._maxima_()
log(y)=log(x)
}}}
But with exp, it doesn't:
{{{
sage: var('y'); a = (y==x).exp()
y
sage: a._maxima_()
%e^(y=x)
}}}
For now putting the upstream as 'none of the above' since it's not clear the bug is upstream." defect new minor sage-6.4 symbolics maxima parsing robertwb Reported upstream. Developers deny it's a bug.