This sounds like it could be useful for lambdify. I'd like to see
lambdification of integrals be improved.

Aaron Meurer

On Tue, Feb 24, 2015 at 11:48 AM, Nathan Woods <[email protected]> wrote:
> I'll need to break it out of a more specialized package first, but this all
> sounds very promising. It'll be a few weeks before I can really get started
> (dissertation writing...), but I think it should only take a day or so after
> that, at least to have something to share. Maybe longer to flesh out the
> feature set and add a cleaner interface. Mostly I just want it to be
> available in a place where it'll get use.
>
> N
>
> On Tuesday, February 24, 2015 at 10:28:13 AM UTC-7, Jason Moore wrote:
>>
>> Nathan,
>>
>> Can you show us the code? It may help us understand what you are doing.
>>
>> Also, we have code in sympy that optional depends on scipy as do we other
>> packages: cython, numpy, theano, matplotlib, etc. The code generation and
>> tightly coupled symboli/numeric code is in that blurry zone about what we'd
>> add.
>>
>> But if you make a working separate package it can be a good start. For
>> example the PyDy project depends on sympy but deals with generating specific
>> numerical codes. If you make the package and we want to include it, then
>> great. If not, you have an easily installable package that others can use
>> and we can link to it from our docs/website.
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>> On Tue, Feb 24, 2015 at 9:08 AM, Nathan Woods <[email protected]> wrote:
>>>
>>> The decoupling is actually pretty easy. Unfortunately, the Sympy-specific
>>> stuff isn't especially useful without the context of a numerical integrator.
>>>
>>> Maybe an example will help. Say you want to numerically integrate a step
>>> function H(x) over the interval [-1, 1]. Most numerical integrators will try
>>> to fit a polynomial to this, but polynomials can't handle the jump at x=0
>>> gracefully, so you end up wasting a lot of processing time trying to refine
>>> it. The fix is to break up the integral, and do it in two pieces, one from
>>> [-1, 0), and one from [0, 1]. The integrator has no trouble with this, so
>>> you get a very fast evaluation. Many integrators, and in particular
>>> scipy.integrate.quad, have this capability.
>>>
>>> What I've done is figure out a way to get the same benefits for
>>> multidimensional functions. So, you could integrate H(x**2 + y**2 - z) over
>>> a volume, and get the same kind of efficiency. Without this, not only is
>>> evaluation of the integral very slow, but the results can sometimes be very
>>> inaccurate too.
>>>
>>> Anyway, from what I can tell, a similar effect could be achieved using
>>> mpmath, rather than SciPy. Maybe that project is a better venue.
>>>
>>> Thanks again!
>>>
>>> N
>>>
>>>
>>> On Tuesday, February 24, 2015 at 9:17:41 AM UTC-7, Joachim Durchholz
>>> wrote:
>>>>
>>>> Am 24.02.2015 um 17:03 schrieb Nathan Woods:
>>>> > Anyway, I would like to package this up in a way that would be
>>>> > publicly
>>>> > useful, but I'm not sure where it fits. Sympy seemed a likely guess,
>>>> > but
>>>> > the SciPy dependence is problematic.
>>>>
>>>> Out of the box, a separate project with a dependency on both SymPy and
>>>> SciPy would probably fit best.
>>>>
>>>>  > Alternatively, the
>>>> > discontinuity-processing could be decoupled and used with any iterated
>>>> > integrator that supports manually specified points of discontinuity.
>>>>
>>>> Decoupling and putting the modules into their respective projects would
>>>> work, too.
>>>> It's much more work though.
>>>>
>>>>  > If
>>>> > Sympy isn't a good fit for this, I would appreciate suggestions about
>>>> > other
>>>> > places that might be better.
>>>>
>>>> I did not fully understand your description of what your code does, so I
>>>> can't be very specific.
>>>> In general, anything that analyzes mathematical objects for properties
>>>> of interest that go beyond a one-shot task would be a worthy addition to
>>>> SymPy.
>>>
>>> --
>>> 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.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/sympy/125f4bc9-7c1d-441f-bf41-5df851379a7d%40googlegroups.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/bed69b8c-fd47-4cba-a3fa-e800e34acea8%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6J%2Bn13FXQ8GnMGLx4wwumZvnz3ONGO3JJduOYotyvtZ6A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to