The functions provide mathematical c functions as RMmodels
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86  RFcalc(model)
R.minus(a, b, factor)
R.plus(a, b, factor)
R.div(a, b, factor)
R.mult(a, b, factor)
R.const(a)
R.c(a, b, c, d, e, f, g, h, i, j, factor)
R.p(proj, new, factor)
R.is(a, is, b)
R.lon()
R.lat()
R.acos(a)
asin(x)
R.asin(a)
atan(x)
R.atan(a)
atan2(y, x)
R.atan2(a, b)
cos(x)
R.cos(a)
sin(x)
R.sin(a)
tan(x)
R.tan(a)
acosh(x)
R.acosh(a)
asinh(x)
R.asinh(a)
atanh(x)
R.atanh(a)
cosh(x)
R.cosh(a)
sinh(x)
R.sinh(a)
tanh(x)
R.tanh(a)
exp(x)
R.exp(a)
log(x)
R.log(a)
expm1(x)
R.expm1(a)
log1p(x)
R.log1p(a)
logb(x)
R.logb(a)
R.exp2(a)
log2(x)
R.log2(a)
R.pow(a, b)
sqrt(x)
R.sqrt(a)
R.hypot(a, b)
R.cbrt(a)
R.ceil(a)
abs(x)
R.fabs(a)
floor(x)
R.floor(a)
R.fmod(a, b)
R.nearbyint(a)
round(x, ...)
R.round(a)
trunc(x)
R.trunc(a)
R.lrint(a)
R.llrint(a)
R.lround(a)
R.llround(a)
R.copysign(a, b)
R.erf(a)
R.erfc(a)
gamma(x)
R.tgamma(a)
lgamma(x)
R.lgamma(a)
R.rint(a)
R.nextafter(a, b)
R.nexttoward(a, b)
R.remainder(a, b)
R.fdim(a, b)
max(...)
R.fmax(a, b)
min(...)
R.fmin(a, b)

model 
object of class 
x,y,a, b, c, d, e, f, g, h, i, j, ... 
constant or object of class 
is 
one of 
factor 
constant factor multiplied with the function. This is useful when linear models are built 
proj 
selection of a component of the vector giving the location. Default value is 1. 
new 
coordinate system or other

adds two values
substracts two values
multiplies two values
devides two values
defines a constant
builds a vector
evaluates equalities and inequalities;
note that TRUE
is returned if the equality or
inequality holds up to a tolerance given by
RFoptions()$nugget$tol
takes a component out of the vector giving the location
longitudinal and latitudinal coordinate, given in the spherical system, i.e. in radians. (earth system is in degrees).
For the remaining models see the corresponding C functions for their return value. (For any ‘R.model’ type ‘man model’ under Linux.)
Formally, the functions return an object of class
RMmodel
, except for
RFcalc
that returns a scalar.
Neither vectors nor parentheses are allowed.
The function RFcalc
is intended for simple calculations only
and it is not excessively tested. Especially, binary
operators should be used with caution.
Note that all the functions here are NOT recognized as being
positive definite (or negative definite), e.g. cos
in
R^1:
please use the functions given in RMmodels
for definite functions (for cos
see RMbessel
)
Using uncapsulated substraction to build up a covariance
function is ambiguous, see the example in RMtrend
Martin Schlather, schlather@math.unimannheim.de
RMmodel
, RFfctn
,
RMtrend
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26  RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
## RFoptions(seed=NA) to make them all random again
## simple calculation
RFcalc(3 + R.sin(pi/4))
## calculation performed on a field
RFfctn(R.p(1) + R.p(2), 1:3, 1:3)
RFfctn(10 + R.p(2), 1:3, 1:3)
## calculate the distances between two vectors
print(RFfctn(R.p(new="iso"), 1:10, 1:10))
## simulation of a nonstationary field where
## anisotropy by a transform the coordinates (x_1^2, x_2^1.5)
x < seq(0.1, 6, 0.12)
Aniso < R.c(R.p(1)^2, R.p(2)^1.5)
z < RFsimulate(RMexp(Aniso=Aniso), x, x)
## calculating norms can be abbreviated:
x < seq(5, 5, 5) #0.1)
z2 < RFsimulate(RMexp() + 40 + exp(0.5 * R.p(new="isotropic")), x, x)
z1 < RFsimulate(RMexp() + 40 + exp(0.5 * sqrt(R.p(1)^2 + R.p(2)^2)), x, x)
stopifnot(all.equal(z1, z2))
plot(z1)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.