Matern¶
-
class
probnum.diffeq.
Matern
(ordint, spatialdim, lengthscale, diffconst, precond_step=1.0)[source]¶ Bases:
probnum.diffeq.odefiltsmooth.prior.ODEPrior
Matern(q) prior –> Matern process with reg. q+0.5 and hence, with matrix size q+1
F = I_d otimes F L = I_d otimes L = I_d otimes diffconst*(0, …, 1) Q = I_d
Attributes Summary
diffusionmatrix
Evaluates Q. dispersionmatrix
driftmatrix
force
inverse_preconditioner
Convenience property to return the readily-computed inverse preconditioner without having to remember abbreviations. ndim
Spatial dimension (utility attribute). preconditioner
Convenience property to return the readily-computed preconditioner without having to remember abbreviations. Methods Summary
chapmankolmogorov
(start, stop, step, …)Solves Chapman-Kolmogorov equation from start to stop via step. dispersion
(time, state, **kwargs)Evaluates l(t, x(t)) = L(t). drift
(time, state, **kwargs)Evaluates f(t, x(t)) = F(t) x(t) + u(t). jacobian
(time, state, **kwargs)maps t -> F(t) precond2nordsieck
(step)Computes preconditioner inspired by Nordsieck. proj2coord
(coord)Projection matrix to \(i\)-th coordinates. sample
(start, stop, step, initstate, **kwargs)Samples from initstate
atstart
tostop
with stepsizestep
.Attributes Documentation
-
diffusionmatrix
¶ Evaluates Q.
-
dispersionmatrix
¶
-
driftmatrix
¶
-
force
¶
-
inverse_preconditioner
¶ Convenience property to return the readily-computed inverse preconditioner without having to remember abbreviations.
Returns: Inverse preconditioner matrix \(P^{-1}\) Return type: np.ndarray, shape=(d(q+1), d(q+1))
-
ndim
¶ Spatial dimension (utility attribute).
-
preconditioner
¶ Convenience property to return the readily-computed preconditioner without having to remember abbreviations.
Returns: Preconditioner matrix \(P\) Return type: np.ndarray, shape=(d(q+1), d(q+1))
Methods Documentation
-
chapmankolmogorov
(start, stop, step, randvar, **kwargs)¶ Solves Chapman-Kolmogorov equation from start to stop via step.
For LTISDEs, there is a closed form solutions to the ODE for mean and kernels (see super().chapmankolmogorov(…)). We exploit this for [(stop - start)/step] steps.
References
Eq. (8) in http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.390.380&rep=rep1&type=pdf and Eq. 6.41 and Eq. 6.42 in Applied SDEs.
-
dispersion
(time, state, **kwargs)¶ Evaluates l(t, x(t)) = L(t).
-
drift
(time, state, **kwargs)¶ Evaluates f(t, x(t)) = F(t) x(t) + u(t).
-
jacobian
(time, state, **kwargs)¶ maps t -> F(t)
-
precond2nordsieck
(step)¶ Computes preconditioner inspired by Nordsieck.
Computes the matrix \(P\) given by
\[P = I_d \otimes diag (1, h, h^2, ..., h^q)\]as well as its inverse \(P^{-1}\).
Parameters: step (float) – Step size \(h\) used for preconditioning. If \(h\) is so small that \(h^q! < 10^{-15}\), it is being set to \(h = (\cdot 10^{-15})^{1/q}\). Returns: - precond (np.ndarray, shape=(d(q+1), d(q+1))) – Preconditioner matrix \(P\).
- invprecond (np.ndarray, shape=(d(q+1), d(q+1))) – Inverse preconditioner matrix \(P^{-1}\).
-
proj2coord
(coord)¶ Projection matrix to \(i\)-th coordinates.
Computes the matrix
\[H_i = \left[ I_d \otimes e_i \right] P^{-1},\]where \(e_i\) is the \(i\)-th unit vector, that projects to the \(i\)-th coordinate of a vector. If the ODE is multidimensional, it projects to each of the \(i\)-th coordinates of each ODE dimension.
Parameters: coord (int) – Coordinate index \(i\) which to project to. Expected to be in range \(0 \leq i \leq q + 1\). Returns: Projection matrix \(H_i\). Return type: np.ndarray, shape=(d, d*(q+1))
-
sample
(start, stop, step, initstate, **kwargs)¶ Samples from
initstate
atstart
tostop
with stepsizestep
.Start, stop and step lead to a np.arange-like interface. Returns a single element at the end of the time, not the entire array!
-