SurrogatesBase.jl: A Common Interface for Surrogate Libraries

API for deterministic and stochastic surrogates.

Given data $((x_1, y_1), \ldots, (x_N, y_N))$ obtained by evaluating a function $y_i = f(x_i)$ or sampling from a conditional probability density $p_{Y|X}(Y = y_i|X = x_i)$, a deterministic surrogate is a function $s(x)$ (e.g. a radial basis function interpolator) that uses the data to approximate $f$ or some statistic of $p_{Y|X}$ (e.g. the mean), whereas a stochastic surrogate is a stochastic process (e.g. a Gaussian process approximation) that uses the data to approximate $f$ or $p_{Y|X}$and quantify the uncertainty of the approximation.

Installation

To install SurrogatesBase.jl, use the Julia package manager:

using Pkg
Pkg.add("SurrogatesBase")

Contributing

Reproducibility

The documentation of this SciML package was built using these direct dependencies,
Status `~/work/SurrogatesBase.jl/SurrogatesBase.jl/docs/Project.toml`
  [e30172f5] Documenter v1.2.1
  [89f642e6] SurrogatesBase v1.1.0 `~/work/SurrogatesBase.jl/SurrogatesBase.jl`
and using this machine and Julia version.
Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × AMD EPYC 7763 64-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
A more complete overview of all dependencies and their versions is also provided.
Status `~/work/SurrogatesBase.jl/SurrogatesBase.jl/docs/Manifest.toml`
  [a4c015fc] ANSIColoredPrinters v0.0.1
  [1520ce14] AbstractTrees v0.4.5
  [ffbed154] DocStringExtensions v0.9.3
  [e30172f5] Documenter v1.2.1
  [d7ba0133] Git v1.3.1
  [b5f81e59] IOCapture v0.2.4
  [692b3bcd] JLLWrappers v1.5.0
  [682c06a0] JSON v0.21.4
  [0e77f7df] LazilyInitializedFields v1.2.2
  [d0879d2d] MarkdownAST v0.1.2
  [69de0a69] Parsers v2.8.1
  [aea7be01] PrecompileTools v1.2.0
  [21216c6a] Preferences v1.4.1
  [2792f1a3] RegistryInstances v0.1.0
  [89f642e6] SurrogatesBase v1.1.0 `~/work/SurrogatesBase.jl/SurrogatesBase.jl`
  [2e619515] Expat_jll v2.5.0+0
  [f8c6e375] Git_jll v2.44.0+0
  [94ce4f54] Libiconv_jll v1.17.0+0
  [458c3c95] OpenSSL_jll v3.0.13+0
  [0dad84c5] ArgTools v1.1.1
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.10.0
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [deac9b47] LibCURL_jll v8.4.0+0
  [e37daf67] LibGit2_jll v1.6.4+0
  [29816b5a] LibSSH2_jll v1.11.0+1
  [c8ffd9c3] MbedTLS_jll v2.28.2+1
  [14a3606d] MozillaCACerts_jll v2023.1.10
  [efcefdf7] PCRE2_jll v10.42.0+1
  [83775a58] Zlib_jll v1.2.13+1
  [8e850ede] nghttp2_jll v1.52.0+1
  [3f19e933] p7zip_jll v17.4.0+2

You can also download the manifest file and the project file.