e02 Chapter Contents
e02 Chapter Introduction
NAG Library Manual

# NAG Library Function Documentnag_2d_spline_fit_ts_scat (e02jdc)

Note: this function uses optional arguments to define choices in the problem specification and in the details of the algorithm. If you wish to use default settings for all of the optional arguments, you need only read Sections 1 to 10 of this document. If, however, you wish to reset some or all of the settings please refer to Section 11 for a detailed description of the specification of the optional arguments produced by the function.

## 1  Purpose

nag_2d_spline_fit_ts_scat (e02jdc) computes a spline approximation to a set of scattered data using a two-stage approximation method.
The computational complexity of the method grows linearly with the number of data points; hence large datasets are easily accommodated.

## 2  Specification

 #include #include
 void nag_2d_spline_fit_ts_scat (Integer n, const double x[], const double y[], const double f[], Integer lsminp, Integer lsmaxp, Integer nxcels, Integer nycels, Integer lcoefs, double coefs[], Integer iopts[], double opts[], NagError *fail)
Before calling nag_2d_spline_fit_ts_scat (e02jdc), nag_fit_opt_set (e02zkc) must be called with optstr set to . Settings for optional algorithmic arguments may be specified by calling nag_fit_opt_set (e02zkc) before a call to nag_2d_spline_fit_ts_scat (e02jdc).

## 3  Description

nag_2d_spline_fit_ts_scat (e02jdc) determines a smooth bivariate spline approximation to a set of data points $\left({x}_{\mathit{i}},{y}_{\mathit{i}},{f}_{\mathit{i}}\right)$, for $\mathit{i}=1,2,\dots ,n$. Here, ‘smooth’ means ${C}^{1}$ or ${C}^{2}$. (You may select the degree of smoothing using the optional argument ${\mathbf{Global Smoothing Level}}$.)
The approximation domain is the bounding box $\left[{x}_{\mathrm{min}},{x}_{\mathrm{max}}\right]×\left[{y}_{\mathrm{min}},{y}_{\mathrm{max}}\right]$, where ${x}_{\mathrm{min}}$ (respectively ${y}_{\mathrm{min}}$) and ${x}_{\mathrm{max}}$ (respectively ${y}_{\mathrm{max}}$) denote the lowest and highest data values of the $\left({x}_{i}\right)$ (respectively $\left({y}_{i}\right)$).
The spline is computed by local approximations on a uniform triangulation of the bounding box. These approximations are extended to a smooth spline representation of the surface over the domain. The local approximation scheme is controlled by the optional argument ${\mathbf{Local Method}}$. The schemes provided are: by least squares polynomial approximation (Davydov and Zeilfelder (2004)); by hybrid polynomial and radial basis function (RBF) approximation (Davydov et al. (2006)); or by pure RBF approximation (Davydov et al. (2005)).
The two-stage approximation method employed by nag_2d_spline_fit_ts_scat (e02jdc) is derived from the TSFIT package of O. Davydov and F. Zeilfelder.
Values of the computed spline can subsequently be computed by calling nag_2d_spline_ts_eval (e02jec) or nag_2d_spline_ts_eval_rect (e02jfc).

## 4  References

Davydov O, Morandi R and Sestini A (2006) Local hybrid approximation for scattered data fitting with bivariate splines Comput. Aided Geom. Design 23 703–721
Davydov O, Sestini A and Morandi R (2005) Local RBF approximation for scattered data fitting with bivariate splines Trends and Applications in Constructive Approximation M. G. de Bruin, D. H. Mache, and J. Szabados, Eds ISNM Vol. 151 Birkhauser 91–102
Davydov O and Zeilfelder F (2004) Scattered data fitting by direct extension of local polynomials to bivariate splines Advances in Comp. Math. 21 223–271

## 5  Arguments

1:    $\mathbf{n}$IntegerInput
On entry: $n$, the number of data values to be fitted.
Constraint: ${\mathbf{n}}>1$.
2:    $\mathbf{x}\left[{\mathbf{n}}\right]$const doubleInput
3:    $\mathbf{y}\left[{\mathbf{n}}\right]$const doubleInput
4:    $\mathbf{f}\left[{\mathbf{n}}\right]$const doubleInput
On entry: the $\left({x}_{i},{y}_{i},{f}_{i}\right)$ data values to be fitted.
Constraint: ${\mathbf{x}}\left[j-1\right]\ne {\mathbf{x}}\left[0\right]$ for some $j=2,\dots ,n$ and ${\mathbf{y}}\left[k-1\right]\ne {\mathbf{y}}\left[0\right]$ for some $k=2,\dots ,n$; i.e., there are at least two distinct $x$ and $y$ values.
5:    $\mathbf{lsminp}$IntegerInput
6:    $\mathbf{lsmaxp}$IntegerInput
On entry: are control parameters for the local approximations.
Each local approximation is computed on a local domain containing one of the triangles in the discretization of the bounding box. The size of each local domain will be adaptively chosen such that if it contains fewer than lsminp sample points it is expanded, else if it contains greater than lsmaxp sample points a thinning method is applied. lsmaxp mainly controls computational cost (in that working with a thinned set of points is cheaper and may be appropriate if the input data is densely distributed), while lsminp allows handling of different types of scattered data.
Setting ${\mathbf{lsmaxp}}<{\mathbf{lsminp}}$, and therefore forcing either expansion or thinning, may be useful for computing initial coarse approximations. In general smaller values for these arguments reduces cost.
A calibration procedure (experimenting with a small subset of the data to be fitted and validating the results) may be needed to choose the most appropriate values for lsminp and lsmaxp.
Constraints:
• $1\le {\mathbf{lsminp}}\le {\mathbf{n}}$;
• ${\mathbf{lsmaxp}}\ge 1$.
7:    $\mathbf{nxcels}$IntegerInput
8:    $\mathbf{nycels}$IntegerInput
On entry: nxcels (respectively nycels) is the number of cells in the $x$ (respectively $y$) direction that will be used to create the triangulation of the bounding box of the domain of the function to be fitted.
Greater efficiency generally comes when nxcels and nycels are chosen to be of the same order of magnitude and are such that n is $\mathit{O}\left({\mathbf{nxcels}}×{\mathbf{nycels}}\right)$. Thus for a ‘square’ triangulation — when ${\mathbf{nxcels}}={\mathbf{nycels}}$ — the quantities $\sqrt{{\mathbf{n}}}$ and nxcels should be of the same order of magnitude. See also Section 9.
Constraints:
• ${\mathbf{nxcels}}\ge 1$;
• ${\mathbf{nycels}}\ge 1$.
9:    $\mathbf{lcoefs}$IntegerInput
10:  $\mathbf{coefs}\left[{\mathbf{lcoefs}}\right]$doubleOutput
On exit: if ${\mathbf{fail}}\mathbf{.}\mathbf{code}=$ NE_NOERROR on exit, coefs contains the computed spline coefficients.
Constraints:
• if ${\mathbf{Global Smoothing Level}}=1$, ${\mathbf{lcoefs}}\ge \left(\left(\left({\mathbf{nxcels}}+2\right)×\left({\mathbf{nycels}}+2\right)+1\right)/2\right)×10+1$;
• if ${\mathbf{Global Smoothing Level}}=2$, ${\mathbf{lcoefs}}\ge 28×\left({\mathbf{nxcels}}+2\right)×\left({\mathbf{nycels}}+2\right)×4+1$.
11:  $\mathbf{iopts}\left[\mathit{dim}\right]$IntegerCommunication Array
Note: the dimension, $\mathit{dim}$, of this array is dictated by the requirements of associated functions that must have been previously called. This array MUST be the same array passed as argument iopts in the previous call to nag_fit_opt_set (e02zkc).
On entry: the contents of iopts MUST NOT be modified in any way either directly or indirectly, by further calls to nag_fit_opt_set (e02zkc), before calling either or both of the evaluation routines nag_2d_spline_ts_eval (e02jec) and nag_2d_spline_ts_eval_rect (e02jfc).
12:  $\mathbf{opts}\left[\mathit{dim}\right]$doubleCommunication Array
Note: the dimension, $\mathit{dim}$, of this array is dictated by the requirements of associated functions that must have been previously called. This array MUST be the same array passed as argument opts in the previous call to nag_fit_opt_set (e02zkc).
On entry: the contents of opts MUST NOT be modified in any way either directly or indirectly, by further calls to nag_fit_opt_set (e02zkc), before calling either or both of the evaluation routines nag_2d_spline_ts_eval (e02jec) and nag_2d_spline_ts_eval_rect (e02jfc).
13:  $\mathbf{fail}$NagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

NE_ALL_ELEMENTS_EQUAL
On entry, all elements of x or of y are equal.
NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.2.1.2 in the Essential Introduction for further information.
On entry, argument $〈\mathit{\text{value}}〉$ had an illegal value.
NE_INITIALIZATION
Option arrays are not initialized or are corrupted.
NE_INT
On entry, ${\mathbf{lcoefs}}=〈\mathit{\text{value}}〉$.
Constraint:
if ${\mathbf{Global Smoothing Level}}=1$,
${\mathbf{lcoefs}}\ge \left(\left(\left({\mathbf{nxcels}}+2\right)×\left({\mathbf{nycels}}+2\right)+1\right)/2\right)×10+1$;
if ${\mathbf{Global Smoothing Level}}=2$,
${\mathbf{lcoefs}}\ge 28×\left({\mathbf{nxcels}}+2\right)×\left({\mathbf{nycels}}+2\right)×4+1$.
On entry, ${\mathbf{lsmaxp}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{lsmaxp}}\ge 1$.
On entry, ${\mathbf{n}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{n}}>1$.
On entry, ${\mathbf{nxcels}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{nxcels}}\ge 1$.
On entry, ${\mathbf{nycels}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{nycels}}\ge 1$.
NE_INT_2
On entry, ${\mathbf{lsminp}}=〈\mathit{\text{value}}〉$ and ${\mathbf{n}}=〈\mathit{\text{value}}〉$.
Constraint: $1\le {\mathbf{lsminp}}\le {\mathbf{n}}$.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 3.6.6 in the Essential Introduction for further information.
NE_INVALID_OPTION
The selected radial basis function cannot be used with the RBF local method.
The value of optional argument ${\mathbf{Polynomial Starting Degree}}$ was invalid.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 3.6.5 in the Essential Introduction for further information.

## 7  Accuracy

Technical results on error bounds can be found in Davydov and Zeilfelder (2004), Davydov et al. (2006) and Davydov et al. (2005).
Local approximation by polynomials of degree $d$ for $n$ data points has optimal approximation order ${n}^{-\left(d+1\right)/2}$. The improved approximation power of hybrid polynomial/RBF and of pure RBF approximations is shown in Davydov et al. (2006) and Davydov et al. (2005).
The approximation error for ${C}^{1}$ global smoothing is $\mathit{O}\left({n}^{-2}\right)$. For ${C}^{2}$ smoothing the error is $\mathit{O}\left({n}^{-7/2}\right)$ when ${\mathbf{Supersmooth C2}}=\mathrm{YES}$ and $\mathit{O}\left({n}^{-3}\right)$ when ${\mathbf{Supersmooth C2}}=\mathrm{NO}$.
Whether maximal accuracy is achieved depends on the distribution of the input data and the choices of the algorithmic parameters. The references above contain extensive numerical tests and further technical discussions of how best to configure the method.

## 8  Parallelism and Performance

nag_2d_spline_fit_ts_scat (e02jdc) is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
nag_2d_spline_fit_ts_scat (e02jdc) makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

$n$-linear complexity and memory usage can be attained for sufficiently dense input data if the triangulation parameters nxcels and nycels are chosen as recommended in their descriptions above. For sparse input data on such triangulations, if many expansion steps are required (see lsminp) the complexity may rise to be loglinear.
Parts of the pure RBF method used when ${\mathbf{Local Method}}=\mathrm{RBF}$ have $n$-quadratic memory usage.
Note that if ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and an initial hybrid approximation is deemed unreliable (see the description of optional argument ${\mathbf{Minimum Singular Value LHA}}$), a pure polynomial approximation will be used instead on that local domain.

## 10  Example

The Franke function
 $fx,y = 0.75 ⁢ exp - 9⁢x-2 2 + 9⁢y-2 2 / 4 + 0.75 ⁢ exp - 9⁢x+1 2 / 49 - 9⁢y+1 / 10 + 0.5 ⁢ exp - 9⁢x-7 2 + 9⁢y-3 2 / 4 - 0.2 ⁢ exp - 9⁢x-4 2 - 9⁢y-7 2$
is widely used for testing surface-fitting methods. The example program randomly generates a number of points on this surface. From these a spline is computed and then evaluated at a vector of points and on a mesh.

### 10.1  Program Text

Program Text (e02jdce.c)

### 10.2  Program Data

Program Data (e02jdce.d)

### 10.3  Program Results

Program Results (e02jdce.r)

## 11  Optional Arguments

Several optional arguments in nag_2d_spline_fit_ts_scat (e02jdc) control aspects of the algorithm, methodology used, logic or output. Their values are contained in the arrays iopts and opts; these must be initialized before calling nag_2d_spline_fit_ts_scat (e02jdc) by first calling nag_fit_opt_set (e02zkc) with optstr set to .
Each optional argument has an associated default value; to set any of them to a non-default value, or to reset any of them to the default value, use nag_fit_opt_set (e02zkc). The current value of an optional argument can be queried using nag_fit_opt_get (e02zlc).
The remainder of this section can be skipped if you wish to use the default values for all optional arguments.
The following is a list of the optional arguments available. A full description of each optional argument is provided in Section 11.1.

### 11.1  Description of the Optional Arguments

For each option, we give a summary line, a description of the optional argument and details of constraints.
The summary line contains:
• the keywords;
• a parameter value, where the letters $a$, $i$ and $r$ denote options that take character, integer and real values respectively;
• the default value.
Keywords and character values are case insensitive.
For nag_2d_spline_fit_ts_scat (e02jdc) the maximum length of the parameter cvalue used by nag_fit_opt_get (e02zlc) is $16$.
 Averaged Spline $a$ Default $\text{}=\mathrm{NO}$
When the bounding box is triangulated there are 8 equivalent configurations of the mesh. Setting ${\mathbf{Averaged Spline}}=\mathrm{YES}$ will use the averaged value of the $8$ possible local polynomial approximations over each triangle in the mesh. This usually gives better results but at (about 8 times) higher computational cost.
Constraint: ${\mathbf{Averaged Spline}}=\mathrm{YES}$ or $\mathrm{NO}$.
 Global Smoothing Level $i$ Default $\text{}=1$
The smoothness level for the global spline approximation.
${\mathbf{Global Smoothing Level}}=1$
Will use ${C}^{1}$ piecewise cubics.
${\mathbf{Global Smoothing Level}}=2$
Will use ${C}^{2}$ piecewise sextics.
Constraint: ${\mathbf{Global Smoothing Level}}=1$ or $2$.
 Interpolation Only RBF $a$ Default $\text{}=\mathrm{YES}$
If ${\mathbf{Interpolation Only RBF}}=\mathrm{YES}$, each local RBF approximation is computed by interpolation.
If ${\mathbf{Interpolation Only RBF}}=\mathrm{NO}$, each local RBF approximation is computed by a discrete least squares approach. This is likely to be more accurate and more expensive than interpolation.
If ${\mathbf{Local Method}}=\mathrm{HYBRID}$ or $\mathrm{POLYNOMIAL}$, this option setting is ignored.
Constraint: ${\mathbf{Interpolation Only RBF}}=\mathrm{YES}$ or $\mathrm{NO}$.
 Local Method $a$ Default $\text{}=\mathrm{POLYNOMIAL}$
The local approximation scheme to use.
${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$
Uses least squares polynomial approximations.
${\mathbf{Local Method}}=\mathrm{HYBRID}$
Uses hybrid polynomial and RBF approximations.
${\mathbf{Local Method}}=\mathrm{RBF}$
Uses pure RBF approximations.
In general $\mathrm{POLYNOMIAL}$ is less computationally expensive than $\mathrm{HYBRID}$ is less computationally expensive than $\mathrm{RBF}$ with the reverse ordering holding for accuracy of results.
Constraint: ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$, $\mathrm{HYBRID}$ or $\mathrm{RBF}$.
 Minimum Singular Value LHA $r$ Default $\text{}=1.0$
A tolerance measure for accepting or rejecting a local hybrid approximation (LHA) as reliable.
The solution of a local least squares problem solved on each triangle subdomain is accepted as reliable if the minimum singular value $\sigma$ of the collocation matrix (of polynomial and radial basis function terms) associated with the least squares problem satisfies ${\mathbf{Minimum Singular Value LHA}}\le \sigma$.
In general the approximation power will be reduced as ${\mathbf{Minimum Singular Value LHA}}$ is reduced. (A small $\sigma$ indicates that the local data has hidden redundancies which prevent it from carrying enough information for a good approximation to be made.) Setting ${\mathbf{Minimum Singular Value LHA}}$ very large may have the detrimental effect that only approximations of low degree are deemed reliable.
A calibration procedure (experimenting with a small subset of the data to be fitted and validating the results) may be needed to choose the most appropriate value for this parameter.
If ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$ or $\mathrm{RBF}$, this option setting is ignored.
Constraint: ${\mathbf{Minimum Singular Value LHA}}\ge 0.0$.
 Minimum Singular Value LPA $r$ Default $\text{}=1.0$
A tolerance measure for accepting or rejecting a local polynomial approximation (LPA) as reliable. Clearly this setting is relevant when ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$, but it also may be used when ${\mathbf{Local Method}}=\mathrm{HYBRID}$ (see Section 9.)
The solution of a local least squares problem solved on each triangle subdomain is accepted as reliable if the minimum singular value $\sigma$ of the matrix (of Bernstein polynomial values) associated with the least squares problem satisfies ${\mathbf{Minimum Singular Value LPA}}\le \sigma$.
In general the approximation power will be reduced as ${\mathbf{Minimum Singular Value LPA}}$ is reduced. (A small $\sigma$ indicates that the local data has hidden redundancies which prevent it from carrying enough information for a good approximation to be made.) Setting ${\mathbf{Minimum Singular Value LPA}}$ very large may have the detrimental effect that only approximations of low degree are deemed reliable.
${\mathbf{Minimum Singular Value LPA}}$ will have no effect if ${\mathbf{Polynomial Starting Degree}}=0$, and it will have little effect if the input data is ‘smooth’ (e.g., from a known function).
A calibration procedure (experimenting with a small subset of the data to be fitted and validating the results) may be needed to choose the most appropriate value for this parameter.
If ${\mathbf{Local Method}}=\mathrm{RBF}$, this option setting is ignored.
Constraint: ${\mathbf{Minimum Singular Value LPA}}\ge 0.0$.
 Polynomial Starting Degree $i$ Default $\text{}=5$ if ${\mathbf{Local Method}}=\mathrm{HYBRID}$,Default $\text{}=1$ otherwise
The degree to be used for the polynomial part in the initial step of each local approximation.
At this initial step the method will attempt to fit with a local approximation having polynomial part of degree ${\mathbf{Polynomial Starting Degree}}$. If ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$ and the approximation is deemed unreliable (according to ${\mathbf{Minimum Singular Value LPA}}$), the degree will be decremented by one and a new local approximation computed, ending with a constant approximation if no other is reliable. If ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and the approximation is deemed unreliable (according to ${\mathbf{Minimum Singular Value LHA}}$), a pure polynomial approximation of this degree will be tried instead. The method then proceeds as in the $\mathrm{POLYNOMIAL}$ case.
${\mathbf{Polynomial Starting Degree}}$ is bounded from above by the maximum possible spline degree, which is $6$ (when performing ${C}^{2}$ global super-smoothing). Note that the best-case approximation error (see Section 7) for ${C}^{2}$ smoothing with ${\mathbf{Supersmooth C2}}=\mathrm{NO}$ is achieved for local polynomials of degree $5$; that is, for this level of global smoothing no further benefit is gained by setting ${\mathbf{Polynomial Starting Degree}}=6$.
The default value gives a good compromise between efficiency and accuracy. In general the best approximation can be obtained by setting:
• If ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$
• if ${\mathbf{Global Smoothing Level}}=1$, ${\mathbf{Polynomial Starting Degree}}=3$;
• if ${\mathbf{Global Smoothing Level}}=2$;
• if ${\mathbf{Supersmooth C2}}=\mathrm{NO}$, ${\mathbf{Polynomial Starting Degree}}=5$;
• otherwise ${\mathbf{Polynomial Starting Degree}}=6$.
• If ${\mathbf{Local Method}}=\mathrm{HYBRID}$, ${\mathbf{Polynomial Starting Degree}}$ as small as possible.
If ${\mathbf{Local Method}}=\mathrm{RBF}$, this option setting is ignored.
Constraints:
• if ${\mathbf{Local Method}}=\mathrm{HYBRID}$,
• if ${\mathbf{Radial Basis Function}}=\mathrm{MQ2}$, $\mathrm{MQ3}$, $\mathrm{TPS}$ or $\mathrm{POLYHARMONIC3}$, ${\mathbf{Polynomial Starting Degree}}\ge 1$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{TPS4}$ or $\mathrm{POLYHARMONIC5}$, ${\mathbf{Polynomial Starting Degree}}\ge 2$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{TPS6}$ or $\mathrm{POLYHARMONIC7}$, ${\mathbf{Polynomial Starting Degree}}\ge 3$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{POLYHARMONIC9}$, ${\mathbf{Polynomial Starting Degree}}\ge 4$;
• otherwise ${\mathbf{Polynomial Starting Degree}}\ge 0$;
• if ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$ and ${\mathbf{Global Smoothing Level}}=1$, ${\mathbf{Polynomial Starting Degree}}\le 3$;
• otherwise ${\mathbf{Polynomial Starting Degree}}\le 6$.
 Radial Basis Function $a$ Default $\text{}=\mathrm{MQ}$
 Scaling Coefficient RBF $r$ Default $\text{}=1.0$
${\mathbf{Radial Basis Function}}$ selects the RBF to use in each local RBF approximation, while ${\mathbf{Scaling Coefficient RBF}}$ selects the scale factor to use in its evaluation, as described below.
A calibration procedure (experimenting with a small subset of the data to be fitted and validating the results) may be needed to choose the most appropriate scale factor and RBF.
If ${\mathbf{Local Method}}=\mathrm{POLYNOMIAL}$, these option settings are ignored.
If ${\mathbf{Local Method}}=\mathrm{HYBRID}$ or $\mathrm{RBF}$, the following (conditionally) positive definite functions may be chosen.
Define $R=\sqrt{{x}^{2}+{y}^{2}}$ and $\rho =R/r$.
 $\mathrm{GAUSS}$ Gaussian $\mathrm{exp}\left(-{\rho }^{2}\right)$ $\mathrm{IMQ}$ inverse multiquadric $1/\sqrt{{r}^{2}+{R}^{2}}$ $\mathrm{IMQ2}$ inverse multiquadric $1/\left({r}^{2}+{R}^{2}\right)$ $\mathrm{IMQ3}$ inverse multiquadric $1/{\left({r}^{2}+{R}^{2}\right)}^{\left(3/2\right)}$ $\mathrm{IMQ0_5}$ inverse multiquadric $1/{\left({r}^{2}+{R}^{2}\right)}^{\left(1/4\right)}$ $\mathrm{WENDLAND31}$ H. Wendland's ${C}^{2}$ function ${\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(0,1-\rho \right)}^{4}\left(4\rho +1\right)$ $\mathrm{WENDLAND32}$ H. Wendland's ${C}^{4}$ function ${\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(0,1-\rho \right)}^{6}\left(35{\rho }^{2}+18\rho +3\right)$ $\mathrm{WENDLAND33}$ H. Wendland's ${C}^{6}$ function ${\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(0,1-\rho \right)}^{8}\left(32{\rho }^{3}+25{\rho }^{2}+8\rho +1\right)$ $\mathrm{BUHMANNC3}$ M. Buhmann's ${C}^{3}$ function $112/45{\rho }^{\left(9/2\right)}+16/3{\rho }^{\left(7/2\right)}-7{\rho }^{4}-14/15{\rho }^{2}+1/9$ if $\rho \le 1$, $0$ otherwise $\mathrm{MQ}$ multiquadric $\sqrt{{r}^{2}+{R}^{2}}$ $\mathrm{MQ1_5}$ multiquadric ${\left({r}^{2}+{R}^{2}\right)}^{\left(1.5/2\right)}$ $\mathrm{POLYHARMONIC1_5}$ polyharmonic spline ${\rho }^{1.5}$ $\mathrm{POLYHARMONIC1_75}$ polyharmonic spline ${\rho }^{1.75}$
If ${\mathbf{Local Method}}=\mathrm{HYBRID}$ the following conditionally positive definite functions may also be chosen.
 $\mathrm{MQ2}$ multiquadric $\left({r}^{2}+{R}^{2}\right)\mathrm{log}\left({r}^{2}+{R}^{2}\right)$ $\mathrm{MQ3}$ multiquadric ${\left({r}^{2}+{R}^{2}\right)}^{\left(3/2\right)}$ $\mathrm{TPS}$ thin plate spline ${\rho }^{2}\mathrm{log}{\rho }^{2}$ $\mathrm{POLYHARMONIC3}$ polyharmonic spline ${\rho }^{3}$ $\mathrm{TPS4}$ thin plate spline ${\rho }^{4}\mathrm{log}{\rho }^{2}$ $\mathrm{POLYHARMONIC5}$ polyharmonic spline ${\rho }^{5}$ $\mathrm{TPS6}$ thin plate spline ${\rho }^{6}\mathrm{log}{\rho }^{2}$ $\mathrm{POLYHARMONIC7}$ polyharmonic spline ${\rho }^{7}$ $\mathrm{POLYHARMONIC9}$ polyharmonic spline ${\rho }^{9}$
Constraints:
• if ${\mathbf{Radial Basis Function}}=\mathrm{MQ2}$, $\mathrm{MQ3}$, $\mathrm{TPS}$ or $\mathrm{POLYHARMONIC3}$, ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and ${\mathbf{Polynomial Starting Degree}}\ge 1$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{TPS4}$ or $\mathrm{POLYHARMONIC5}$, ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and ${\mathbf{Polynomial Starting Degree}}\ge 2$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{TPS6}$ or $\mathrm{POLYHARMONIC7}$, ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and ${\mathbf{Polynomial Starting Degree}}\ge 3$;
• if ${\mathbf{Radial Basis Function}}=\mathrm{POLYHARMONIC9}$, ${\mathbf{Local Method}}=\mathrm{HYBRID}$ and ${\mathbf{Polynomial Starting Degree}}\ge 4$;
• ${\mathbf{Scaling Coefficient RBF}}>0.0$.
 Separation LRBFA $r$ Default $\text{}=16.0/{\mathbf{Scaling Coefficient RBF}}$
A knot-separation parameter used to control the condition number of the matrix used in each local RBF approximation (LRBFA). A smaller value may mean greater numerical stability but fewer knots.
If ${\mathbf{Local Method}}=\mathrm{HYBRID}$ or $\mathrm{POLYNOMIAL}$, this option setting is ignored.
Constraint: ${\mathbf{Separation LRBFA}}>0.0$.
 Supersmooth C2 $a$ Default $\text{}=\mathrm{NO}$
If ${\mathbf{Supersmooth C2}}=\mathrm{YES}$, the ${C}^{2}$ spline is generated using additional smoothness constraints. This usually gives better results but at higher computational cost.
If ${\mathbf{Global Smoothing Level}}=1$ this option setting is ignored.
Constraint: ${\mathbf{Supersmooth C2}}=\mathrm{YES}$ or $\mathrm{NO}$.