harmonic
Basis for Harmonic Functions
Evaluates a basis for the harmonic polynomials in \(x\) and \(y\) of degree less than or equal to \(n\).
Usage
harmonic(x, y, n)
Arguments
- x
Vector of \(x\) coordinates
- y
Vector of \(y\) coordinates
- n
Maximum degree of polynomial
Details
This function computes a basis for the harmonic polynomials
in two variables \(x\) and \(y\) up to a given degree \(n\)
and evaluates them at given \(x,y\) locations.
It can be used in model formulas (for example in
the model-fitting functions
lm,glm,gam
and ppm
) to specify a
linear predictor which is a harmonic function.
A function \(f(x,y)\) is harmonic if $$\frac{\partial^2}{\partial x^2} f + \frac{\partial^2}{\partial y^2}f = 0.$$ The harmonic polynomials of degree less than or equal to \(n\) have a basis consisting of \(2 n\) functions.
This function was implemented on a suggestion of P. McCullagh for fitting nonstationary spatial trend to point process models.
Value
A data frame with 2 * n
columns giving the values of the
basis functions at the coordinates. Each column is labelled by an
algebraic expression for the corresponding basis function.
See Also
Examples
# NOT RUN {
# inhomogeneous point pattern
X <- unmark(longleaf)
# }
# NOT RUN {
# fit Poisson point process with log-cubic intensity
fit.3 <- ppm(X ~ polynom(x,y,3), Poisson())
# fit Poisson process with log-cubic-harmonic intensity
fit.h <- ppm(X ~ harmonic(x,y,3), Poisson())
# Likelihood ratio test
lrts <- 2 * (logLik(fit.3) - logLik(fit.h))
df <- with(coords(X),
ncol(polynom(x,y,3)) - ncol(harmonic(x,y,3)))
pval <- 1 - pchisq(lrts, df=df)
# }