I'm pleased to announce the new package FastTransforms.jl available here: https://github.com/MikaelSlevinsky/FastTransforms.jl
The aim of this package is to provide a new class of fast transforms based on the use of asymptotic formulae to relate the transforms to a small number of fast Fourier transforms. This new class of fast transforms does not require large pre-computation for fast execution, and they are designed to work on expansions of functions with any degree of regularity. Version v0.0.1 implements the Chebyshev–Jacobi transform and its inverse. For details on the algorithm, see: http://arxiv.org/abs/1602.02618. The transform is based on the fast and accurate numerical evaluation of Jacobi expansions at the Chebyshev–Lobatto points. This allows the fast conversion of Chebyshev expansion coefficients to Jacobi expansion coefficients and back. Convert between as many as one million Jacobi coefficients with parameters (α,β) ∈ (-1/2,1/2]^2 to Jacobi coefficients with parameters (γ,δ) ∈ (-1/2,1/2]^2 with high absolute accuracy in a little over two minutes! julia> using FastTransforms julia> @time jjt(rand(1_000_001),0.1,0.2,0.3,0.4); 128.491023 seconds (534 allocations: 534.084 MB) If the Jacobi parameters (α,β) are not significantly beyond the half-open square (-1/2,1/2]^2, then increment and decrement operators are used to pre- and post-process the fast transform with linear complexity (and linear conditioning) in the degree.