Documentation | Build Status | Coverage |
---|---|---|
GaussianRandomFields
is a Julia package to compute and sample from Gaussian random fields.
- Support for stationary separable and non-separable isotropic and anisotropic Gaussian random fields.
- We provide most standard covariance functions such as Gaussian, Exponential and Matérn covariances. Adding a user-defined covariance function is very easy.
- Implementation of most common methods to generate Gaussian random fields: Cholesky factorization, eigenvalue decomposition, Karhunen-Loève expansion and circulant embedding.
- Easy generation of Gaussian random fields defined on a Finite Element mesh.
- Versatile plotting features for easy visualisation of Gaussian random fields using Plots.jl.
GaussianRandomFields
is a registered package and so can be installed via
] add GaussianRandomFields
- See the Tutorial for an introduction on how to use this package (including fancy pictures!)
- See the API for a detailed manual
[1] Lord, G. J., Powell, C. E. and Shardlow, T. An introduction to computational stochastic PDEs. No. 50. Cambridge University Press, 2014.
[2] Graham, I. G., Kuo, F. Y., Nuyens, D., Scheichl, R. and Sloan, I.H. Analysis of circulant embedding methods for sampling stationary random fields. SIAM Journal on Numerical Analysis 56(3), pp. 1871-1895, 2018.
[3] Le Maître, O. and Knio, M. O. Spectral methods for uncertainty quantification: with applications to computational fluid dynamics. Springer Science & Business Media, 2010.
[4] Baker, C. T. The numerical treatment of integral equations. Clarendon Press, 1977.
[5] Betz, W., Papaioannou I. and Straub, D. Numerical methods for the discretization of random fields by means of the Karhunen–Loève expansion. Computer Methods in Applied Mechanics and Engineering 271, pp. 109-129, 2014.