8000 Decide what to do with e^(y=x) · Issue #11651 · sagemath/sage · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Decide what to do with e^(y=x) #11651
Open
@kcrisman

Description

@kcrisman

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<sup>y=e</sup>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.

Upstream: Reported upstream. Developers deny it's a bug.

CC: @robertwb

Component: symbolics

Keywords: maxima parsing

Issue created by migration from https://trac.sagemath.org/ticket/11651

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0