On Tue, Jul 3, 2012 at 2:09 AM, [email protected] <[email protected]> wrote: >>> However, while we can generate Fortran code, compile it and use >>> that for plotting, in many cases it is an overkill and a simple approach >>> 1) or 2) provides enough speed to get the job done. >> >> >> I'm not sure that this is the right kind of overkill we're looking at here. > > There is one more thing. If a user is **not** relying at least on > numpy for evaluation of arrays or on autowrap for evaluation of many > unpredictable points, he is just doing it wrong. > > The one exception is code inside sympy which was agreed at some point, > should not require more than a python interpreter. However, if you are > using nsolve with lambdify you are again doing it wrong, because the > only advantage that our nsolve has over scipy is that it can work in > arbitrary precision. If you don't need it, just work in scipy, do not > kill precision for performance inside sympy. The other example is > plotting, however because of matplotlib this already requires numpy.
There is a difference between calling matplotlib, numpy or scipy, and having a working fortran or C compiler working at your machine. In particular, in scipy ODE, you can provide a simple Python function to get the ODE integrated. I am pretty sure that our approach 1) will be quite faster than high level eval_to_numpy(). Having to require a working C/Fortran compiler to do any plotting or ODE solving is an overkill in my opinion and it will make things more complicated for the end user. (Allowing to also use C/Fortran is of course great for advanced users.) > > Hence, with all the other stuff that needs refactoring in sympy, it > does not seem wise IMO to spend time on complicated AST using module, > when we already have low-performance evalf and easy-to-implement high > performance eval_to_numpy idea. We should implement this eval_to_numpy(), that shouldn't be too difficult. Ondrej -- You received this message because you are subscribed to the Google Groups "sympy" 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?hl=en.
