laplacian | R Documentation |
Computes the numerical Laplacian of functions
or the symbolic Laplacian of characters
in arbitrary orthogonal coordinate systems.
laplacian( f, var, params = list(), coordinates = "cartesian", accuracy = 4, stepsize = NULL, drop = TRUE ) f %laplacian% var
f |
array of |
var |
vector giving the variable names with respect to which the derivatives are to be computed and/or the point where the derivatives are to be evaluated. See |
params |
|
coordinates |
coordinate system to use. One of: |
accuracy |
degree of accuracy for numerical derivatives. |
stepsize |
finite differences stepsize for numerical derivatives. It is based on the precision of the machine by default. |
drop |
if |
The Laplacian is a differential operator given by the divergence of the
gradient of a scalar-valued function F, resulting in a scalar value giving
the flux density of the gradient flow of a function.
The laplacian
is computed in arbitrary orthogonal coordinate systems using
the scale factors h_i:
\nabla^2F = \frac{1}{J}∑_i\partial_i\Biggl(\frac{J}{h_i^2}\partial_iF\Biggl)
where J=∏_ih_i. When the function F is a tensor-valued function
F_{d_1… d_n}, the laplacian
is computed for each scalar component:
(\nabla^2F)_{d_1… d_n} = \frac{1}{J}∑_i\partial_i\Biggl(\frac{J}{h_i^2}\partial_iF_{d_1… d_n}\Biggl)
Scalar for scalar-valued functions when drop=TRUE
, array
otherwise.
f %laplacian% var
: binary operator with default parameters.
Guidotti E (2022). "calculus: High-Dimensional Numerical and Symbolic Calculus in R." Journal of Statistical Software, 104(5), 1-37. doi: 10.18637/jss.v104.i05
Other differential operators:
curl()
,
derivative()
,
divergence()
,
gradient()
,
hessian()
,
jacobian()
### symbolic Laplacian laplacian("x^3+y^3+z^3", var = c("x","y","z")) ### numerical Laplacian in (x=1, y=1, z=1) f <- function(x, y, z) x^3+y^3+z^3 laplacian(f = f, var = c(x=1, y=1, z=1)) ### vectorized interface f <- function(x) sum(x^3) laplacian(f = f, var = c(1, 1, 1)) ### symbolic vector-valued functions f <- array(c("x^2","x*y","x*y","y^2"), dim = c(2,2)) laplacian(f = f, var = c("x","y")) ### numerical vector-valued functions f <- function(x, y) array(c(x^2,x*y,x*y,y^2), dim = c(2,2)) laplacian(f = f, var = c(x=0,y=0)) ### binary operator "x^3+y^3+z^3" %laplacian% c("x","y","z")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.