Comment #3 on issue 1612 by [email protected]: Symbol('f')(x) !=
Function('f')(x)
http://code.google.com/p/sympy/issues/detail?id=1612
There are deep design issues at play here. That Function.__new__ is called
both from
Function('f') and exp(x) is a clear design smell. We should use something
like
FunctionSymbol('f') instead of Function('f') - like in issue 1688. Then
there is the
fact that a Symbol can represent absolutely anything (a Boolean, an Expr, a
set, a
function, ...) but when you call it, you implicitly restrict it to be
something that
can be called, i.e. a function. This means that we should probably have
Symbol('f')
!= FunctionSymbol('f'), while Symbol('f')(x) evaluates to
FunctionSymbol('f')(x).
Another possibility that seems closer to the spirit of issue 1688 would be
to have
Symbol('f')(x) evaluate to Apply(Symbol('f'), x) but then it's not clear
how this can
be made equal to Apply(FunctionSymbol('f'), x).
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy-issues?hl=en.