Computation of highly oscillatory integrals using a Fourier extension approximation
<|reference_start|>Computation of highly oscillatory integrals using a Fourier extension approximation: The numerical evaluation of integrals of the form \begin{align*}   \int_a^b f(x) e^{ikg(x)}\,dx \end{align*} is an important problem in scientific computing with significant applications in many branches of applied mathematics, science and engineering. The numerical approximation of such integrals using classical quadratures can be prohibitively expensive at high oscillation frequency ($k \gg 1$) as the number of quadrature points needed for achieving a reasonable accuracy must grow proportionally to $k$. To address this significant computational challenge, starting with Filon in 1930, several specialized quadratures have been developed to compute such oscillatory integrals efficiently. A crucial element in such Filon-type quadrature is the accurate evaluation of certain moments which poses a significant challenge when non-linear phase functions $g$ are involved. In this paper, we propose an equispaced-grid Filon-type quadrature for computing such highly oscillatory integrals that utilizes a Fourier extension of the slowly varying envelope $f$. This strategy is primarily aimed at significantly simplifying the moment calculations, even when the phase function has stationary points. Moreover, the proposed approach can also handle certain integrable singularities in the integrand. We analyze the scheme to theoretically establish high-order convergence rates. We also include a wide variety of numerical experiments, including oscillatory integrals with algebraic and logarithmic singularities, to demonstrate the performance of the quadrature.<|reference_end|>
@article{anand2024computation,
    title={Computation of highly oscillatory integrals using a Fourier extension
  approximation},
    author={Akash Anand, Damini Dhiman},
    journal={arXiv preprint arXiv:2408.17037},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.17037},
    primaryClass={math.NA cs.NA}
}