← all repositories
SMTorg/smt

Surrogate models that actually know calculus

A Python toolbox for cheap approximations of expensive simulations, with an unusual obsession over derivatives.

896 stars Jupyter Notebook ML FrameworksOther AI
smt
Not currently ranked — collecting fresh signals.
star history

What it does SMT is a Python library for building surrogate models — fast statistical stand-ins for slow physics simulations or costly experiments. It bundles sampling methods, benchmark functions, and a small zoo of modeling techniques: kriging, radial basis functions, neural networks, and mixtures of experts. The API is deliberately plain; the goal is to let researchers plug in new methods without wrestling with boilerplate.

The interesting bit Most surrogate libraries treat gradients as an afterthought. SMT makes them first-class: training derivatives for gradient-enhanced modeling, prediction derivatives, and even derivatives with respect to the training data itself. It also ships models you won’t find elsewhere, including kriging via partial-least-squares reduction and energy-minimizing spline interpolation.

Key highlights

  • First-class derivative support: gradient-enhanced training, prediction Jacobians, and sensitivity to training data
  • Hierarchical and mixed-variable Gaussian processes (new in 2.0)
  • Multi-fidelity modeling for combining cheap and expensive data sources
  • Sparse Gaussian process and co-kriging variants for high-dimensional or multi-fidelity problems
  • Documentation auto-generated from tested code with embedded plots
  • BSD-licensed, depends on standard scientific Python stack

Caveats

  • The README is thin on performance claims; no benchmarks against comparable libraries are shown
  • Some advanced features (hierarchical spaces, mixed variables) appear to be recent additions with limited real-world battle scars visible in the docs

Verdict Worth a look if you’re doing gradient-enhanced surrogate modeling, multi-fidelity optimization, or architecture design with mixed variable types. Skip it if you just need a quick random forest or vanilla Gaussian process — scikit-learn or GPyTorch will be less to think about.

Frequently asked

What is SMTorg/smt?
A Python toolbox for cheap approximations of expensive simulations, with an unusual obsession over derivatives.
Is smt open source?
Yes — SMTorg/smt is open source, released under the BSD-3-Clause license.
What language is smt written in?
SMTorg/smt is primarily written in Jupyter Notebook.
How popular is smt?
SMTorg/smt has 896 stars on GitHub.
Where can I find smt?
SMTorg/smt is on GitHub at https://github.com/SMTorg/smt.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.