Yes, that's a bug. I've fixed it and submitted a PR at
https://github.com/sympy/sympy/pull/2530.
David
On Thursday, October 10, 2013 1:58:53 PM UTC-7, Duane Nykamp wrote:
>
> I'm using parse_expr to parse student input to online quizzes. Since I
> want them to be able to type in an answer as "xe^x" for x*exp(x) I have
> tried to do the following transformations.
>
> transformations=standard_transformations+(convert_xor, split_symbols,
> implicit_multiplication)
>
> The result is:
>
> In [57]: parse_expr("xe^x", local_dict={'e': E},
> transformations=transformations)
> Out[57]: e**x*x
>
> which means, the e was not mapped to E, as it should. If one makes the
> multiplication explicit, and does not rely on split_symbols, then it works
> correctly.
>
> In [58]: parse_expr("x*e^x", local_dict={'e': E},
> transformations=transformations)
> Out[58]: x*exp(x)
>
> The function
> def _split_symbols(tokens, local_dict, global_dict)
> completely ignores local_dict and global_dict. Should somehow
> _split_symbols call auto_symbol on the new tokens it created?
>
> Is there any way to get "xe^x" parsed as x*exp(x)? I suppose I could just
> add a replace(Symbol('e'),E) after processing.
>
> Duane
>
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.