Table of Contents
Fetching ...

An algorithmic approach to direct spline products: procedures and computational aspects

Francesco Patrizi, Alessandra Sestini

TL;DR

This work tackles the challenge of efficiently and robustly computing the product of two splines in the B-spline basis without resorting to ill-conditioned implicit approaches. By reexpressing Mørken's direct formula in an Oslo Algorithm–based, matrix-free framework and introducing a factorization that groups identical terms, the authors dramatically reduce the computational cost while preserving numerical stability. The improved procedure achieves low average term counts per coefficient (often under 4) and scales well to high degrees and refinement levels, outperforming collocation and blossoming-based methods. The approach integrates naturally into IgA, BEM, and NURBS workflows, enabling exact, global integration and stable assembly of system matrices, with parallelization and extensions to multivariate settings as promising avenues for future work.

Abstract

We introduce an efficient algorithmic procedure for implementing the direct formula that represents the product of splines in the B-spline basis. We first demonstrate the relevance of this direct approach through numerical evidences showing that implicit methods, such as collocation, may fail in some instances due to severe ill-conditioning of the associated system matrices, whereas the direct formula remains robust. We then recast the direct formula into an algorithmic framework based on the Oslo Algorithm and subsequently enhance it, through a factorization of the terms to be computed, to dramatically improve computational efficiency. Extensive numerical experiments illustrate the substantial reduction in computational cost achieved by the proposed method. Implementation aspects are also discussed to ensure numerical stability and applicability.

An algorithmic approach to direct spline products: procedures and computational aspects

TL;DR

This work tackles the challenge of efficiently and robustly computing the product of two splines in the B-spline basis without resorting to ill-conditioned implicit approaches. By reexpressing Mørken's direct formula in an Oslo Algorithm–based, matrix-free framework and introducing a factorization that groups identical terms, the authors dramatically reduce the computational cost while preserving numerical stability. The improved procedure achieves low average term counts per coefficient (often under 4) and scales well to high degrees and refinement levels, outperforming collocation and blossoming-based methods. The approach integrates naturally into IgA, BEM, and NURBS workflows, enabling exact, global integration and stable assembly of system matrices, with parallelization and extensions to multivariate settings as promising avenues for future work.

Abstract

We introduce an efficient algorithmic procedure for implementing the direct formula that represents the product of splines in the B-spline basis. We first demonstrate the relevance of this direct approach through numerical evidences showing that implicit methods, such as collocation, may fail in some instances due to severe ill-conditioning of the associated system matrices, whereas the direct formula remains robust. We then recast the direct formula into an algorithmic framework based on the Oslo Algorithm and subsequently enhance it, through a factorization of the terms to be computed, to dramatically improve computational efficiency. Extensive numerical experiments illustrate the substantial reduction in computational cost achieved by the proposed method. Implementation aspects are also discussed to ensure numerical stability and applicability.
Paper Structure (17 sections, 22 equations, 13 figures, 5 algorithms)

This paper contains 17 sections, 22 equations, 13 figures, 5 algorithms.

Figures (13)

  • Figure 1: Error comparison and condition number of the B-spline collocation matrix of the product of a fixed cubic B-spline and a polynomial of increasing degree. In figure (a) we show the maximal error on a uniform grid of $201$ points when evaluating the product through the direct formula of morken and the collocation procedures. On the $x$-axis the polynomial degree from 1 to 50 and on the $y$-axis the max error. In (b) the estimated condition number of the B-spline collocation matrix, computed with the command condest of Matlab.
  • Figure 2: Error comparison and and condition number of the B-spline collocation matrix of the product of a fixed cubic spline and a polynomial of increasing degrees. In figure (a) we show the maximal error on a uniform grid of $201$ points when evaluating the product through the direct formula of morken and the collocation procedures. On the $x$-axis the polynomial degree from 1 to 50 and on the $y$-axis the max error. In (b) the estimated condition number of the B-spline collocation matrix, computed with the command condest of Matlab.
  • Figure 3: Error comparison and and condition number of the B-spline collocation matrix of the product of B-splines $B_{i, \pmb{\uptau}} \cdot B_{j, \pmb{\uptau}}$ on the same knot vector $\pmb{\uptau}$ and of fixed smoothness ($C^2$), but of increasing degrees. Fixed the index $i$, in figure (a) we show the mean over all $j$ such that $\mathop{\mathrm{supp}}\nolimits B_{i, \pmb{\uptau}} \cap \mathop{\mathrm{supp}}\nolimits B_{j, \pmb{\uptau}} \neq \varnothing$ of the maximal error on a uniform grid of $201$ points when evaluating the product through the direct formula of morken and the collocation procedures. On the $x$-axis the polynomial degree from $3$ to $50$ and on the $y$-axis the mean max error. In (b) the estimated mean condition number of the B-spline collocation matrices, computed with the command condest of Matlab.
  • Figure 4: Error comparison and condition number of the B-spline collocation matrix of the product of B-splines $B_{i, \pmb{\uptau}} \cdot B_{j, \pmb{\uptau}}$ on the same knot vector $\pmb{\uptau}$ but of increasing degrees and always of maximal smoothness. Fixed the index $i$, in figure (a) we show the mean over all $j$ such that $\mathop{\mathrm{supp}}\nolimits B_{i, \pmb{\uptau}} \cap \mathop{\mathrm{supp}}\nolimits B_{j, \pmb{\uptau}} \neq \varnothing$ of the maximal error on a uniform grid of $201$ points when evaluating the product through the direct formula of morken and the collocation procedures. On the $x$-axis the polynomial degree from $3$ to $50$ and on the $y$-axis the mean max error. In (b) the estimated mean condition number of the B-spline collocation matrices, computed with the command condest of Matlab.
  • Figure 5: Error comparison and and condition number of the B-spline collocation matrix of the product of splines on the same knot vector $\pmb{\uptau}$ when increasing the degree. In figure (a) we show the maximal error on a uniform grid of $201$ points when evaluating the product through the direct formula of morken and the collocation procedures. On the $x$-axis the polynomial degree from $1$ to $50$ and on the $y$-axis the max error. In (b) the estimated condition number of the B-spline collocation matrix, computed with the command condest of Matlab.
  • ...and 8 more figures

Theorems & Definitions (8)

  • Remark 3.1
  • Remark 3.2
  • Remark 3.3
  • Remark 3.4
  • Remark 3.5
  • Remark 3.6
  • Remark 3.7
  • Remark 3.8