[SciPy-User] access to odeint intermediate results for later interpolation

Brian Merchant bhmerchant at gmail.com
Sat Oct 24 15:04:41 EDT 2015


Hi David,

I have used PyDSTool before and can highly recommend it. I too was worried
about how it would be difficult to get started, so only poked around for a
bit, before actually beginning to use it for school assignments (where I
used it to handily beat XPPAUT, except when it came to automatic
bifurcation continuation). As you mention, it's scary to start off because
there isn't super-complete, hand-holding, documentation just yet.

However, once I dove in, I found three things were very helpful: 1) Rob
Clewley (the developer's) immense (seriously, not an exaggeration) kindness
when it comes to answering questions/making things clearer, 2) the
Sourceforge user group's activity to similarly help (I believe Rob
participates there as well), 3) the current examples on the documentation
page and the many undocumented examples within the package itself (I forget
the exact path, since it has been a while since I used it)

I remember that the following documentation example got me up to speed
really quickly in terms of the very basics:
http://www.ni.gsu.edu/~rclewley/PyDSTool/Tutorial/Tutorial_Calcium.html

I think this one is kind of new (so I am not sure if I have read it), but
it seems to be very helpful too:
http://www.ni.gsu.edu/~rclewley/PyDSTool/Tutorial/Tutorial_linear.html


Overall, I'd say part of the difficulty of using PyDSTool is the difficulty
of the subject matter (dynamical systems, numerical integration) itself.
Numerical integration is "easy" as long as you are using a black box, and
then suddenly and unexpectedly seems to become "difficult" once the black
boxes encounter something that isn't working so well. Dynamical systems is
a new field (its only within the last 30-40 years that serious progress has
been made since some initial needling in the age-before-computers by folks
like Poincare), and some of the most cutting edge tools (e.g. XPPAUT) are
horrendously un-user-friendly.

So, sticking through the initial "oh god, I wish I could just download all
this info into my brain" is important, and you'll soon find yourself being
able to ask the right questions (at the very least). Hopefully, you can
also help develop some documentation if you have the time :)

Kind regards,
Brian

On Fri, Oct 23, 2015 at 11:46 PM, David Mikolas <david.mikolas1 at gmail.com>
wrote:

> That's great! I like the packaging of the dense output as a Python
> interpolation object.
>
> I can see it might take a little time to install and learn. Documentation
> at the following site looks very helpful.
>
> http://www.ni.gsu.edu/~rclewley/PyDSTool/FrontPage.html
>
> I wish there was an introductory video (setup and working a problem) -
> would be great for squeamish people like myself.
>
> Thanks for the help!
>
> Just as reference, I've also found some discussion of possible
> implementation of dense output in SciPy itself here:
>
> http://comments.gmane.org/gmane.comp.python.scientific.devel/19635
> https://mail.scipy.org/pipermail/scipy-user/2015-October/thread.html
>
>
> On Fri, Oct 23, 2015 at 12:08 AM, Rob Clewley <rob.clewley at gmail.com>
> wrote:
>
>> >
>> > On Wed, Oct 21, 2015 at 1:09 PM, David Mikolas <
>> david.mikolas1 at gmail.com>
>> > wrote:
>> >>
>> >> I've read that sometimes one saves the intermediate results from
>> numerical
>> >> integration so that it can be re-interpolated for other points in time.
>> >>
>> >> For example, an efficient integration would use variable step size, and
>> >> when it detects that the current step has passed one or more of the
>> time
>> >> points requested, it would use the same coefficients to calculate
>> results at
>> >> the requested time point instead of recalculating.
>>
>> I think these features are not in the current scipy codes. However,
>> PyDSTool's interface to Dopri and Radau gives access to those
>> polynomials. It also augments the original codes with a way to force
>> time points from an array. The output is an interpolation object that
>> can use the underlying polynomial directly. An example is at
>>
>> https://github.com/robclewley/pydstool/blob/master/examples/poly_interp_test.py
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User at scipy.org
>> https://mail.scipy.org/mailman/listinfo/scipy-user
>>
>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> https://mail.scipy.org/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20151024/607d8590/attachment.html>


More information about the SciPy-User mailing list