• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SMTorg / smt / 39802565364
92%

Build:
DEFAULT BRANCH: master
Ran 22 Oct 2026 04:18PM UTC
Jobs 1
Files 85
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Oct 2026 03:12PM UTC coverage: 91.508% (+0.03%) from 91.48%
39802565364

push

github

web-flow
Fast KRG model training and predictions update using a block matrix approach. (#833)

**New method `KRG.update_model(X_new, Y_new)`**

This pull request proposes to introduce a new approach to update the
Cholesky Gram matrix of the `KRG` model without updating the theta
hyperparameters. This approach is faster than `.train(hyper_opt="NoOp")
`as illustrated in the attached graph. The more new training points
added, the greater the difference in execution time is in comparison
with `.train(hyper_opt="NoOp")`.

Currently, this approach only supports design spaces with continuous
variables. It raises a descriptive `NotImplementedError` for
categorical/mixed variables.


[time_perf_smt_vs_block.pdf](https://github.com/user-attachments/files/32927247/time_perf_smt_vs_block.pdf)

**Minimal example**

```
# Initial training
sm = KRG()
sm.set_training_values(X, Y)
sm.train()

# Fast update with new points (skips full matrix inversion and hyperparameter tuning)
sm.update_model(X_new, Y_new)
```

**Different behavior from `.train(hyper_opt="NoOp")`**

This method differs slightly from `.train(hyper_opt="NoOp")` regarding
$Y$ standardization. A standard `.train()` re-initializes and
re-computes the Gram matrix based on new scaling factors evaluated
across the entire updated dataset. `.update_model(X_new, Y_new)` updates
the local block relying on the previously cached scaling factors. The
numerical difference in predictions is negligible for standard
sequential sampling, but users should be aware of this if adding extreme
outliers.

**Usefulness**

The utility of such an approach could be to quickly explore GP posterior
distributions knowing new training points, without re-training the theta
hyperparameters. The execution time between training the thetas clearly
outweights the Cholesky Gram matrix update process, as illustrated in
the attached graph.


[time_perf_training_smt_vs_matrix_inversion.pdf](https://github.com/user-attachments/files/32927710/time_perf_tr... (continued)

96 of 102 new or added lines in 1 file covered. (94.12%)

8642 of 9444 relevant lines covered (91.51%)

0.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
94.69
-5.31% smt/surrogate_models/krg.py
Jobs
ID Job ID Ran Files Coverage
1 Test - 39802565364.1 22 Oct 2026 04:19PM UTC 85
91.51
Source Files on build 39802565364
  • Tree
  • List 85
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0d2c70cd on github
  • Prev Build on master (#37272850620)
  • Next Build on master (#39802767072)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc