Julia is hands down the best language for scientific computation atm. But the brittleness drives me nuts. I don’t want to spend my time debugging types that I feel like static code analysis could have caught! I always feel like I have to write very functional code to reduce error surface, but at the same time I need to write procedural code for performance (pre-allocations ahem!) with all the pitfalls of mutation. Also the optimizer being a little inconsistent means even in simple cases I can get different behavior in my working code and my supposedly MWE. Paired with significant compilation times means development in Julia just isn’t fun. /end rant.
A cheap hack that I figured out was LSODA solver will work with your system of ODEs only if the equations are modelled correct. This has always worked for some reason with DifferentialEquations.jl, idk why.
That `Ref` trick is fantastic, thanks for sharing your process!
Thanks for sharing. I will need to come back and re-watch the last part.
Thank you so much!
🥰
Julia is hands down the best language for scientific computation atm. But the brittleness drives me nuts. I don’t want to spend my time debugging types that I feel like static code analysis could have caught! I always feel like I have to write very functional code to reduce error surface, but at the same time I need to write procedural code for performance (pre-allocations ahem!) with all the pitfalls of mutation.
Also the optimizer being a little inconsistent means even in simple cases I can get different behavior in my working code and my supposedly MWE. Paired with significant compilation times means development in Julia just isn’t fun. /end rant.
A cheap hack that I figured out was LSODA solver will work with your system of ODEs only if the equations are modelled correct. This has always worked for some reason with DifferentialEquations.jl, idk why.