4 ms·
Are they? The last time I tried to use DifferentialEquations.jl, most of the examples were broken. I've not yet run into a broken scipy example...
by patrick451 4y ago
Are they? The last time I tried to use DifferentialEquations.jl, most of the examples were broken. I've not yet run into a broken scipy example...
- europeanguy 4y agoIt's funny that you bring up DifferentialEquations.jl specifically, as that might the most advanced differential equations solver in _existence_, not just in Julia. I'll leave you to think why it might be that your take is so off.
- patrick451 4y agoI bring up DifferentialEquations.jl specifically because it is supposed to be one of the flagship julia packages. When I paste their examples into my repl and get errors or infs where I should get well behaved values, that's their problem, especially when I have the exact version installed that the docs claim to be generated from. I'm not the only one with a similar take that julia has quality control issues, e.g. https://yuri.is/not-julia/ https://yuri.is/not-julia/
- ChrisRackauckas 4y agoCan you please share which example is broken? I'd be happy to take a look. We share the project/manifest that was used with the build (https://diffeq.sciml.ai/stable/#Reproducibility https://diffeq.sciml.ai/stable/#Reproducibility), so you can see the exact versions of all packages and dependencies. The docs aren't perfect and there's many things we plan to improve within the next month (I'd be happy to detail some of what is planned), but I'd be surprised if the >10k unique monthly viewers all didn't notice that every example is broken without any issues reported (as you claim). It seems every typo seems to get an issue opened these days, but the examples haven't had a report in at least months.
- warinukraine 4y agoWhat you wanna bet that we never hear from him again? (Thanks for your work)
- patrick451 4y agoThis is one I remember https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_inference/ https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_... All of the cost function values are infinite, which results in an empty plot. There were others, but it's been too long that I don't recall exactly which ones. Edit: Here is another from the advanced tutorials DiffEqUncertainty/02-AD_and_optimization.ipynb The fourth cell produces the error Simultaneously using keywords vars and idxs is not supported. Please only use idxs. Stacktrace: [1] error(s::String) @ Base ./error.jl:35 [2] macro expansion [3] apply_recipe(plotattributes::AbstractDict{Symbol, Any}, sol::SciMLBase.AbstractTimeseriesSolution) @ SciMLBase ~/.julia/packages/RecipesBase/eU0hg/src/RecipesBase.jl:300 [4] _process_userrecipes!(plt::Any, plotattributes::Any, args::Any) @ RecipesPipeline ~/.julia/packages/RecipesPipeline/XxUHt/src/user_recipe.jl:38 [5] recipe_pipeline!(plt::Any, plotattributes::Any, args::Any) @ RecipesPipeline ~/.julia/packages/RecipesPipeline/XxUHt/src/RecipesPipeline.jl:72 [6] _plot!(plt::Plots.Plot, plotattributes::Any, args::Any) @ Plots ~/.julia/packages/Plots/aRJ6C/src/plot.jl:225 [7] #plot#182 @ ~/.julia/packages/Plots/aRJ6C/src/plot.jl:102 [inlined] [8] top-level scope @ In[4]:11 [9] eval @ ./boot.jl:368 [inlined] [10] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428
- europeanguy 4y ago> This is one I remember https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_ https://docs.sciml.ai/DiffEqParamEstim/stable/tutorials/ODE_... > All of the cost function values are infinite, which results in an empty plot. I copy pasted the code up to the first plot of a cost function, and works fine.
- ChrisRackauckas 4y agoWere those run with the same versions as the project/manifests described in the repository reproducibility section (https://docs.sciml.ai/DiffEqParamEstim/dev/#Reproducibility https://docs.sciml.ai/DiffEqParamEstim/dev/#Reproducibility)? Downloading the described package version for DiffEqParamEstim.jl seems to work fine, as I just checked and another user described. The build system builds the outputs and plots using those described versions, so if it errors it would put the error into the documentation. If I had to guess what your issue was, you might be using some old Linux distro that's giving you like a Julia v1.3 with ancient package versions: that's something outside of my control and is the most common reason we've found for people reporting weird failures. We highly highly recommend following the standard installation instructions (https://docs.sciml.ai/Overview/stable/getting_started/installation/#installation https://docs.sciml.ai/Overview/stable/getting_started/instal...) and using the Julia generic binaries (https://julialang.org/downloads/ https://julialang.org/downloads/). On a higher note though... I'm a bit confused: we were talking about DifferentialEquations.jl, one of the libraries that is most heavily maintained, and then when asked for examples of what tutorials aren't working, you don't post any examples from DifferentialEquations.jl but from tutorials of other libraries? One of which we publicly discuss all of the time as not yet completed (DiffEqUncertainty -> SciMLUncertainty, one of the current research projects)? I would not conflate the two, it's like saying SciPy isn't robust because Python's ODES library isn't: they are two different libraries and the authors are quite public about the differences. We have been very public that the UQ stuff is still ongoing research with monthly talks about it, and we keep it in a separate Github repo with separate documentation. We don't call that DifferentialEquations.jl for a very good reason.
- warinukraine 4y agoYeah man Julia's correctness is horrible isn't it? ASML uses Julia for real-time modelling in their photolithography machines, and Stanford's robotics group also uses it for real-time control, however these people are amateurs! On the other hand, patrick451's crud app has a higher standard of correctness! Stop believing everything you read.
- patrick451 4y agoI keep reading about how great julia, but every time I try it, it just seems to suck. So, mission accomplished, I guess?
- europeanguy 4y ago> I keep reading about how great julia, but every time I try it, it just seems to suck. And how do you explain that? Because to me the simplest explanation is very obvious.
- Libbum 4y agoYou may have been reading a different version of the documentation. Documenter.jl outputs are dependent on the code actually running (and it's the package DifferentialEquations.jl uses to build its docs).
- adgjlsfhk1 4y agoOne thing that's incredibly frustrating is search engines often like to send people to really old versions of docs. I wonder if that was the cause?
- ChrisRackauckas 4y agoThis year we added a giant red banner to the top of all old documentation to try and prevent that. You can see that here (https://diffeq.sciml.ai/v6.15/ https://diffeq.sciml.ai/v6.15/). This indeed was the #1 source of all bug reports on our documentation. Reproducibility and keeping a clear history can have interesting side effects haha.