We present an algorithm for the approximation of bivariate functions by “low-rank splines”, that is, sums of outer products of univariate splines. Our approach is motivated by the Adaptive Cross Approximation (ACA) algorithm for low-rank matrix approximation as well as the use of low-rank function approximation in the recent extension of the chebfun package to two dimensions. The resulting approximants lie in tensor product spline spaces, but typically require the storage of far fewer coefficients than tensor product interpolants. We analyze the complexity and show that our proposed algorithm can be efficiently implemented in terms of the cross approximation algorithm for matrices using either full or row pivoting.#R##N##R##N#We present several numerical examples which show that the performance of the algorithm is reasonably close to the best low-rank approximation using truncated singular value decomposition and leads to dramatic savings compared to full tensor product spline interpolation.#R##N##R##N#The presented algorithm has interesting applications in isogeometric analysis as a data compression scheme, as an efficient representation format for geometries, and in view of possible solution methods which operate on tensor approximations.
['Irina Georgieva', 'Clemens Hofreither']
An Algorithm for Low-rank Approximation of Bivariate Functions Using Splines