Fair points. Check out the version of lambdify with dummify as an argument here: https://github.com/sympy/sympy/pull/2428
-Gilbert On Wednesday, September 4, 2013 5:16:56 AM UTC-7, Jason Moore wrote: > > I agree with Matthew here. Adding the argument makes things very > unambiguous and it is completely backwards compatible. > > > Jason > moorepants.info > +01 530-601-9791 > > > On Wed, Sep 4, 2013 at 3:16 AM, Matthew Brett > <[email protected]<javascript:> > > wrote: > >> Hi, >> >> On Tue, Sep 3, 2013 at 8:08 PM, Gilbert Gede >> <[email protected]<javascript:>> >> wrote: >> > I think there were concerns on adding additional arguments to lambdify. >> That >> > was why I added the dummify flag to the lower-level lambdastr instead, >> and >> > tried to keep lambdify's interface simple. >> > >> > I think the logic could be re-written to be a little more robust - >> maybe not >> > dummifying if a dictionary or 'sympy' is explicitly passed in or >> implemented >> > functions are provided, and only dummifying if the numeric outputs are >> going >> > to take precedence over the symbolic outputs? >> >> Would you mind giving an example where it would be a very bad idea to >> dummify? I read the pull request discussion, but I think the really >> nasty examples Stefan gave actually raise errors with dummify. I ask >> only because I didn't entirely understand the problem. >> >> For guessing, my guess would be that someone wanted numerical >> evaluation if there is: >> >> * a dictionary first argument >> * any other namespace than sympy as first argument >> * an implemented function anywhere >> >> But I think this is a typical example of zen of Python : >> >> $ python -c 'import this' | grep guess >> In the face of ambiguity, refuse the temptation to guess. >> >> > I suppose the question is: Are there use cases where dummification is >> > needed, and there are implemented functions or the desired module is >> > 'sympy'? If so, we should add dummification as a flag. >> >> Let's say the user does want: >> >> y = x(t) >> lambdify(y, 2 * y) >> >> to work. Then, at the moment, they have to guess how we are guessing >> that they will tell us that. >> >> Whereas: >> >> lambdify(y, 2 * y, dummify=True) >> >> with a good docstring, seems like it's not much extra work or extra >> complexity in the signature, for the reasonably large gain in clarity. >> >> Cheers, >> >> Matthew >> >> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected] <javascript:> >> . >> Visit this group at http://groups.google.com/group/sympy. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- 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.
