david/Non-oscillatory Interpolation for Data that is Under-resolved or has Uncertain Smoothness

Interpolation of data can be challenging when the function to be interpolated is not smooth. If the order of non-smoothness and/or the locations of singularities is unknown, ordinary interpolation techniques may yield interpolants that are inaccurate or have poor qualitative properties (like high-frequency oscillations). Data that is underresolved is essentially non-smooth if the derivatives of the function change rapidly relative to the sampling interval.

Weighted essentially non-oscillatory (WENO) interpolation is a technique used widely in the solution of hyperbolic PDEs. WENO interpolation accurately interpolates functions with discontinuities, without producing spurious oscillations. The aim of this project is to develop and analyze the use of WENO as a general-purpose interpolation technique for other applications.

The project will begin with developing a Python library for WENO interpolation, in order to facilitate analysis and understanding of WENO interpolants, and to enable comparison with other interpolants, such as splines. Variants of the original WENO algorithm, such as Z-WENO and Power WENO, will also be implemented and compared.

The goal of the project is to determine the effectiveness of WENO for general non-smooth function interpolation, in terms of accuracy, efficiency, and robustness. The project will examine how WENO compares to other interpolants, and how its performance depends on the smoothness of the function and the choice of WENO parameters. A secondary outcome of the project will be a user-friendly software package for WENO interpolation.