Dear all,
I’d like to introduce: SymJul
(not married to the name)
I’m working on a lot of theory for new nonlinear systems. Sometimes, discretization of the full ODE or PDE works but takes too many computational resources when you only need some information rather than all. For example, dumbing down Maxwell’s equations to the Slowly Varying Envelope Approximation, or using the Chapman-Enskog method or moments method rather than the full Boltzmann equation.
I ran into the efficiency/speed limit with Sympy, and Symengine is just not there yet and in C++ so contributions are limited.
Unfortunately, Symbolics.jl
was also lacking and far too difficult to be able to modify and get to work on complex PDEs.
So I decided to use SymbolicUtils.jl
as the base and started from there.
As of now, I just have a notebook and functions for differentiation and integration including full evaluation and unevaluated derivatives and integrals.
I’m hoping to others will help out on creating a more robust system.
A couple of things:
- Not married to the name so we can come up with a better one
- Converting expressions to latex and displaying has been a struggle
- I have no idea if my differentiation and integration functions can be more optimized or efficient
- Not sure how to save expressions or equations in Julia
- There are some things I haven’t figured out because there’s not enough documentation for SymbolicUtils
My end goal is to be able to do Multiple Scales Perturbation Theory, Homotopy Analysis, Adomian Decomposition Methods , and finally Deep Learning for PDEs
If anyone is interested or thinks they can lead this effort, feel free to start a new repository and take my stuff.