Does anyone know a good package where Elliptic functions are implemented for complex values of the argument? May be some C or Fortran package that can be easily called from Julia?
I know that there is the package Elliptic, however the elliptic functions there are defined only for real arguments.
Interesting. The problem is that I need Jacobi elliptic functions, and the package exports only Weierstrass elliptic function. I know that you can express Jacobi elliptic functions in terms of Weierstrass function, however, I am not sure this is the most efficient way from the computational standpoint.
Expanding on that: SpecialFunctions.jl gets a lot of half-baked PRs, and it’s a package with no specific “owner”, many people have merge permission but I don’t think anyone feels confident in merging a PR. Unless it’s . And it’s not clear that it should be home to all special functions.
So a better thing to do is move that PR to its own package EllipticFunctions.jl
The history of the aforementioned PR is as follows: I needed the Jacobi elliptic functions for a project but couldn’t find a suitable Julia package, so I decided to implement them myself and was hoping to make my code available to as wide an audience as possible by getting it into SpecialFunctions.jl. @simonbyrne then pointed out a number of issues in my code (thanks again for that, I learnt a lot!), and I believe all but the ones mentioned in this comment have been resolved. I’d be happy to give a hand resolving the remaining issues, but I no longer need these elliptic functions myself and so I had a hard time finding a justification for spending more time on this. Also, some of the remaining issues require community consensus.
I’m indifferent whether the final code ends up in SpecialFunctions.jl or a separate package, but I do hope that whatever solution we pick can merge the various Julia implementations of elliptic functions into a single package. For reference, these are the three codes that I am aware of:
For people finding this topic, there is now GitHub - stla/EllipticFunctions.jl: Jacobi theta functions which has extensive coverage of Jacobi elliptic functions and related functions and which allows complex arguments. It is not (yet) in the general registry.