New Features for Gamma
SymPy Gamma is essentially SymPy’s clone of WolframAlpha, at least in terms of math features. We just rolled out some new features:

Improved plotting, still based on D3.js

Diophantine equation solving:
diophantine(3*x**2 + 4*y**2  5*z**2 + 4*x*y  7*y*z + 7*z*x)

Recurrence relation solving:
rsolve(y(n+2)y(n+1)y(n), y(n), {y(0): 0, y(1): 1})
 Boolean logic results:
 An updated version of SymPy, and various other improvements
Gamma’s (and by extension, SymPy’s) parsing still needs work, though, when
it comes to the implicit style. Consider, for instance, the input y(x)
. Is
this
 The function , or
 The product ?
This makes inputs ambiguous, at least to the parser. For instance, it makes
sense that expand(a(x + 1) + b(x + 2))
should be and not
$\mathrm{a}(x+1) + \mathrm{b}(x+2)$. Meanwhile, rsolve(y(n+2)  y(n+1) 
y(n), y(n))
wouldn’t make any sense as .
How do we solve this problem? I see three, nonmutuallyexclusive ways:
 Provide an “interpret as” functionality, like WolframAlpha. For
functions, you can also explicitly specify a function symbol with
Function("f")(x)
, though this is rather tedious to type.  Give the parser a whitelist/blacklist of functions to use implicit function or implicit multiplication syntax.
 Try it both ways and take the one that doesn’t raise an exception.
So in the future, I’d like to improve SymPy’s parser more – and hopefully, someday add natural language parsing to Gamma. Dealing with these ambiguities is a first step towards that.