On Thu, Sep 30, 2021 at 11:59 AM Chris Smith <smi...@gmail.com> wrote:
>
> I had a brief look at the tides and spokes. My impression was that it was 
> well presented.
>
> I am curious on the large expressions for which you used subexpression 
> elimination and wonder if you have tried `lambdify(..., cse=True)` on them 
> with any favorable results.

The cse argument to lambdify is new in SymPy 1.9, which is still in
pre-release (as an aside, it looks like the release note entry for
https://github.com/sympy/sympy/pull/21546 wasn't very accurate).

Aaron Meurer

>
> I look forward to spending some more time looking at what you have done.
>
> Best regards,
> /c
>
> On Wednesday, September 29, 2021 at 4:23:17 PM UTC-5 blues...@gmail.com wrote:
>>
>> Hello,
>>
>> we just released the latest version of our Taylor integrator heyoka.py:
>>
>> https://github.com/bluescarni/heyoka.py
>>
>> heyoka.py is an implementation of Taylor's method for the numerical 
>> integration of systems of ODEs based on automatic differentiation and 
>> just-in-time compilation via LLVM.
>>
>> Current features include:
>>
>> - support for both double-precision and extended-precision floating-point 
>> types,
>> - the ability to maintain machine precision accuracy over tens of billions 
>> of timesteps,
>> - high-precision zero-cost dense output,
>> - accurate and reliable event detection,
>> - excellent performance,
>> - batch mode integration to harness the power of modern SIMD instruction 
>> sets.
>>
>> heyoka.py needs to represent the ODEs symbolically in order to apply the 
>> automatic differentiation rules necessary for an efficient implementation of 
>> Taylor's method. For this purpose, heyoka.py uses its own expression system, 
>> but in recent versions we added the ability to convert heyoka.py's symbolic 
>> expressions to/from SymPy. Here's a simple example of interoperability 
>> between heyoka.py and SymPy:
>>
>> https://bluescarni.github.io/heyoka.py/notebooks/sympy_interop.html
>>
>> Here instead is a non-trivial example where the equations of motion are 
>> formulated via SymPy's classical mechanics module and then integrated via 
>> heyoka.py:
>>
>> https://bluescarni.github.io/heyoka.py/notebooks/tides_spokes.html
>>
>> This second example also shows how the common subexpression elimination 
>> capabilities of heyoka.py were able to drastically simplify highly-complex 
>> Lagrangian equations.
>>
>> As a long-time observer/user of SymPy, I thought that other SymPy users 
>> might find this project interesting. I am also looking for feedback on our 
>> SymPy conversions facilities, as this is my first time digging into the 
>> SymPy expression system internals.
>>
>> Thanks and kind regards,
>>
>>   Francesco
>
> --
> 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 sympy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/d607d3af-4b4d-4e10-a291-e3790df8bc05n%40googlegroups.com.

-- 
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 sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6Ksk_YdoTfYdjqtJA9Xv%3DgVwdFzYxCCbixSfVtD3KtF1A%40mail.gmail.com.

Reply via email to