I’m trying to implement a solver for the Benjamin-Ono equation using DifferentialEquations.jl. I have periodic boundary conditions, so I’m using ApproxFun.jl to take the Fourier transform and use the method of lines to solve the PDE.
The equation is defined as,
u_t + uu_x - Hu_{xx} = 0,
where H is the Hilbert transform defined as,
\hat{H} = -i \operatorname{sgn}(k)
I poked around the forums, GitHub examples, and the benchmark pages on DifferentialEquations.jl, but I wasn’t able to see an example of where someone used a linear operator other than a derivative. I’m a little confused about how ApproxFun.jl is storing the Fourier coefficients, and if I can get a grasp on that I shouldn’t have trouble implementing my own operator for the Hilbert transform.
Thanks!
EDIT:
Just to be a little more clear, I want the operator to be diagonal and represent the Fourier multiplier,
\mathcal{K} = i(k)^2 \operatorname{sgn}(k)
This way I bring the second derivative inside of the multiplier.