Description Usage Arguments Details Value Note References See Also Examples
pdNeville
performs intrinsic polynomial interpolation of curves or surfaces of HPD matrices
in the metric space of HPD matrices equipped with the affine-invariant Riemannian metric (see \insertCiteB09pdSpecEst[Chapter 6]
or \insertCitePFA05pdSpecEst) via Neville's algorithm based on iterative geodesic interpolation detailed
in \insertCiteCvS17pdSpecEst and in Chapter 3 and 5 of \insertCiteC18pdSpecEst.
1 | pdNeville(P, X, x, metric = "Riemannian")
|
P |
for polynomial curve interpolation, a (d, d, N)-dimensional array corresponding to a length N sequence of (d, d)-dimensional HPD matrices (control points) through which the interpolating polynomial curve passes. For polynomial surface interpolation, a (d, d, N_1, N_2)-dimensional array corresponding to a tensor product grid of (d, d)-dimensional HPD matrices (control points) through which the interpolating polynomial surface passes. |
X |
for polynomial curve interpolation, a numeric vector of length N specifying the time points at which
the interpolating polynomial passes through the control points |
x |
for polynomial curve interpolation, a numeric vector specifying the time points (locations) at which the
interpolating polynomial is evaluated. For polynomial surface interpolation, a list with as elements two numeric vectors
|
metric |
the metric on the space of HPD matrices, by default |
For polynomial curve interpolation, given N control points (i.e., HPD matrices), the degree of the
interpolated polynomial is N - 1. For polynomial surface interpolation, given N_1 \times N_2 control points
(i.e., HPD matrices) on a tensor product grid, the interpolated polynomial surface is of bi-degree (N_1 - 1, N_2 - 1).
Depending on the input array P
, the function decides whether polynomial curve or polynomial surface interpolation
is performed.
For polynomial curve interpolation, a (d, d, length(x))
-dimensional array corresponding to the interpolating polynomial
curve of (d,d)-dimensional matrices of degree N-1 evaluated at times x
and passing through the control points P
at times X
. For polynomial surface interpolation, a (d, d, length(x$x), length(x$y))
-dimensional array corresponding to the
interpolating polynomial surface of (d,d)-dimensional matrices of bi-degree N_1 - 1, N_2 - 1 evaluated at times expand.grid(x$x, x$y)
and passing through the control points P
at times expand.grid(X$x, X$y)
.
If metric = "Euclidean"
, the interpolating curve or surface may not be positive definite everywhere as the space of HPD
matrices equipped with the Euclidean metric has its boundary at a finite distance.
The function does not check for positive definiteness of the input matrices, and may fail if metric = "Riemannian"
and
the input matrices are close to being singular.
1 2 3 4 5 6 7 8 9 10 | ### Polynomial curve interpolation
P <- rExamples1D(50, example = 'gaussian')$f[, , 10*(1:5)]
P.poly <- pdNeville(P, (1:5)/5, (1:50)/50)
## Examine matrix-component (1,1)
plot((1:50)/50, Re(P.poly[1, 1, ]), type = "l") ## interpolated polynomial
lines((1:5)/5, Re(P[1, 1, ]), col = 2) ## control points
### Polynomial surface interpolation
P.surf <- array(P[, , 1:4], dim = c(2,2,2,2)) ## control points
P.poly <- pdNeville(P.surf, list(x = c(0, 1), y = c(0, 1)), list(x = (0:10)/10, y = (0:10)/10))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.