For the last several weeks I have been implementing [1] a DASSL algorithm in Julia. The DASSL algorithm was developed by Linda Petzold in late 80s to solve Differential Algebraic Equations (DAE) and its Fortran 77 implementation is one of the most popular DAE solvers. My implementation in Julia bases mainly on a book [3] and partly on the source of the original implementation [2] (mostly in places where the book was ambiguous). I tried to mimic the behavior of the original implementation as much as I could but my code is not in a one to one correspondence with the original (I aimed at readability of the algorithm), so don't be surprised if you get slightly different results from both versions.
This is my first larger project in Julia so don't expect high end quality or performance, but I tested my implementation for convergence on various simple index-0 and index-1 problems and it works just fine. That said, I am open to any critique and suggestions, and any help with improving the code. Ultimately, I would like to see this code merged into the ODE.jl library, if the maintainers of the latter allow it. [1] https://github.com/pwl/dassl.jl [2] http://www.netlib.org/ode/ddassl.f [3] "Numerical Solution of Initial'Value Problems in Differential-Algebraic Equations" K. E. Brenan, S. L. Campbell, L. R. Petzold
