In general terms, a *spline* is a real-valued function
*f* on some domain *D* which is defined by parts:
*f*(*p*) = *f*_{i}(*p*) iff *p*
belongs to *D*_{i}, where *G* =
{*D*_{1}, *D*_{2}, ... *D _{n}*}
is some fixed partition of

Splines are often used for function approximation (modeling some
function that cannot be easily computed, such as the solution of a
differential equation); and for data interpolation (modeling a function
which is known only at certain scattered points). In such
applications, the partial functions *f*_{i} (the
*pieces*) of *f*) are easily computed formulas, such as
polynomials of a fixed maximum degree *g*; and the subsets
*D* _{i} (the *tiles*) have a simple geometry such as
intervals, rectangles, triangles, etc.. Also, the spline is often
required to be continuous, and to have continuous derivatives up to some
order *r*, even across the boundaries between the tiles
*D*_{i}.

A *spherical function* is a real-valued function whose
domain is the *d*-dimensional sphere **S**^{d}
(the set of all unit-length vectors of **R**^{d+1}).

A *spherical spline* is a piecewise-polynomial function
*f* defined on the sphere **S**^{d}, in terms
of a fixed triangulation *T* of the latter. Specifically, within
each triangle *t _{i}* of

- ?? Some pictures.

As alternatives to other "global" approximation and interpolation models --- such as polynomials and trigonometric series --- splines have a number of advantages, such as flexibility, numerical stability, efficient evaluation, analytic tractability, and more. Splines are competitive alternatives to other "local" schemes such as radial bases and wavelets.

In this project we study the space *P*_{r}^{g}
of all spherical splines with a given triangulation *T* and a
given maximum degree *g* within each triangle, which are also
continuous and differentiable up to a given order *r*.

We also study the subspace
*H*_{r}^{g} of
*P*_{r}^{g}, consisting of the splines whose
pieces *f*_{i} are *homogeneous* polynomials of
degree *exactly* *g*. This subspace was exhaustively
studied by P. Alfeld, M. Neamtu
and L. Schumaker, who provided an algorithm to
construct explicit basis with local support (the *ANS basis*) ---
provided that *g* is at least 2*r*+1.

We have shown [??] that, for dimension *d* =
2 and higher, the space *P*_{r}^{g}
is the direct sum of
*H*_{r}^{g} and
*H*_{r}^{g-1}. Therefore, one can
obtain a basis for the former by simply
concatenating the ANS bases for the latter two spaces. This construction
works as long as *g* is at least 2*r*+2.

- ?? Some pictures of basis elements.

Once a basis *B* for *P*_{r}^{g} has been
constructed, we can use it to approximate a given spherical function
*f* by a spline *s* of
*P*_{r}^{g}, with least-squares error. For that
purpose, we need the matrix *M*, whose generic entry
*M*_{ij} is the scalar product
<*B*_{i}|*B*_{j}> of the basis
elements
*B*_{i}
and *B*_{j}; and the
vector *y* such that *y*_{i} =
<*B*_{i}|*f*>.
The approximation *s* is then SUM_{j}
*x _{j}*

The function *s* thus obtained minimizes the squared norm of
the approximation error, ||*s*-*f*||^{2} =
<*s*-*f*|*s*-*f*>. For the scalar product
<*f*|*h*>, we use the integral of
*f*(*p*)*h*(*p*) over the whole sphere (the
L_{2} metric), optionally multiplied by a weight function
*w*(*p*).

Since, in our case, each basis element *B*_{i} has finite
support, confined to a few triangles, the matrix *M*
is quite sparse --- it has only a constant number of nonzero entries per row.
Thus the system *M x = y* can be solved fairly efficiently, even
for moderately large triangulations. We have been using a direct solution
(via Cholesky factorization of the matrix *M*) which
seems adequate for bases with up to ?? elements. Beyond that limit
the factorization is prone to fail; presumably iterative methods
like Gauss-Jordan can exceed that limit.

- ?? Some results and pictures.

We have also investigated the suitability of the spline spaces
*P*_{r}^{g} and
*H*_{r}^{g}
for integration of partial differential equations (PDEs) on the sphere,
such as those that arise in global weather modeling.

The generic PDE has the form * K*(

When solving (*integrating*) the PDE numerically, we look
for an optimal approximation *s* to the true solution *f*
in some finite-dimensional space *S* of approximating
functions.

In principle, when * K* is a linear operator, there is
an explicit formula for approximate solution

With this criterion, if *B*={*B*_{1},..
*B*_{n}} is a basis for *S*, the PDE integration problem reduces
to solving the linear equation system *N x = y* where
*N*_{ij} is
<* K*(

In our case, *S* is a space of spherical splines,
either *P*_{r}^{g}
or *H*_{r}^{g},
over some fixed triangulation *T* of the sphere **S**^{2},
and the basis *B* is obtained as discussed above.
As in least-squares approximation, the matrix *N* is quite sparse.

When the basis elements *B*_{i} are splines,
one must worry about
* K*(

However, when * K* is a second-order operator, we can
use Green's theorem can to reduce
<

When the operator * K* is not linear, there
is no general direct method; in fact, Galerkin's
criterion may not be enough to ensure a unique solution.

If we are lucky, the solution may be found by the following iterative method.
We start with an initial guess *s* := *s*_{0} =
SUM_{j} *x*_{j} *B*_{j}.
At each iteration *k* > 0, we replace the
operator * K* by a first-order approximation

- ?? Iterative solution when
*h*depends on*f*. - ??
- ?? Spherical gradient of a spherical polynomial of degree
*g*is a spherical polynomial of degree*g*+1 [sic]. - ?? Some results and pictures.

- ?? Implementation
- ?? Download
- ?? Software overview

- ?? Comparison of P against H (better for small triangs, difference disappears as n goes to +oo.
- ?? Current work: improving basis, stability, shallow-water equations.

*
Last edited on 2003-06-11 01:26:37 by stolfi
*