I started a new blog on my experiences with Julia programming. Have a look: https://ufechner7.github.io/

Hey! Consider cross posting these to https://forem.julialang.org so that I can more easily share them across the ecosystem! You can set the canonical link so that the SEO goes to your original blog post.

New post: Working with Julia projects | Julia programming notes

Please check if I explained the effect of compat bounds correctly. Is this wording correct:

The first two numbers of the version string `v1.31.7`

are `1`

and `31`

?

What is a canonical link? And how can I set it?

And what is an SEO?

Search-engine optimization, if you want our blog to get noticed. I donâ€™t know how, but your blog is worthy of attention.

At least the one blog I read:

My preferred solver for stiff differential algebraic equations is the Radau5DAE solver, which is available in Fortran and Python, but not yet wrapped or re-written in Julia.

Itâ€™s unclear to me if Python is just a wrapper, or is adding to the Fortran code, so that it wouldnâ€™t be enough to just wrap the Fortran code directly (make JLL). Might be easiest would be to use PythonCall.jl, manually, or even a wrapper based on it (it could always be changed later to exclude Python runtime?).

You link indirectly to (and its C-interface):

RADAU5 implicit Runge-Kutta method of order 5 (Radau IIA) for problems of the form Myâ€™=f(x,y) with possibly singular matrix M; with dense output (collocation solution). Concerning the linear algebra routines the user has the choice to link the program either with DC_DECSOL and DECSOL or with DC_LAPACK and LAPACK and LAPACKC

Hints for the choice:

a) the LAPACK routines use BLAS

b) the compiler has to accept COMPLEX16 for the LAPACK routines; the DECSOL routines only use REAL8 declarations

Thatâ€™s ComplexF64 (i.e. of doubles) in Julia lingo, would it help to translate to Julia, make faster (2-4x?), to make generic, supporting ComplexF32 (and even ComplexF16), or would it just be a mistake to lower precision (or not need speedup)?

@chrisrackauckas I see all the Fortran code is FORTRAN77. There was a Fortran-to-Julia for that version, if I recall, made by some Julia people (partly implemented in Perl), could look it up, or was trying, but actually found not one but two more, in case you want to do that (fork the codeâ€¦, needed in SciMl?):

We have RadauIIA5, but no RadauIIA5DAE for fully implicit DAE definitions. We need to add that one. Itâ€™s on the radar.

There are two versions available, a Fortran version with a Python wrapper and a pure Python version. They should be functionally identical. The problem that requires effort is to integrate it with the DifferentialEquations.jl interfaceâ€¦

Or to translate it to pure Juliaâ€¦ I would like to have a pure Julia version because I would like to use it with StaticArrays in a non-allocating fashionâ€¦

It shouldnâ€™t be to hard to transpile the Fortran code (just try!), but since thereâ€™s a pure Python version, you could also try transpiling that with GitHub - JuliaCN/Py2Jl.jl: Python to Julia transpiler. I donâ€™t know if it or those from Fortran are mature, at least there was an interesting JuliCon 2022 talk on it (for fastest resulting code, you can help it along, I doubt thatâ€™s needed for Fortran, since it should have all the type info, so the opposite problem: I guess you then get non-generic code out, but easy to fix that).