Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
2a254ce
Replace abstract fields with specific types
sou-cheng-choi Jun 2, 2026
2d4ba82
Replace abstract fields with specific types
sou-cheng-choi Jun 2, 2026
1ee36dc
Measure notebook run time
sou-cheng-choi Jun 2, 2026
8d49e53
Add benchmarking
sou-cheng-choi Jun 2, 2026
8990e48
Update Julia version to 1.12 and enhance benchmark script documentation
sou-cheng-choi Jun 2, 2026
7ce5a8a
Update References
sou-cheng-choi Jun 2, 2026
26dcfa9
measure execution time for each test,
sou-cheng-choi Jun 2, 2026
8df624f
Removed print statements
sou-cheng-choi Jun 2, 2026
f21de9e
Add benchmarking scripts for QMCPy and Julia
sou-cheng-choi Jun 2, 2026
7dccf01
minor changes
sou-cheng-choi Jun 2, 2026
f1541d6
+benchmarking scripts and results for QMC.jl vs QMCPy
sou-cheng-choi Jun 2, 2026
b8dd7ab
Fix CI: revert julia compat to 1.10 (CI matrix tests 1.10 and 1.11)
sou-cheng-choi Jun 2, 2026
795b48e
Speed up CubQMCNetG EuropeanOption
sou-cheng-choi Jun 2, 2026
7599f28
Speed up CubQMCNetG EuropeanOption
sou-cheng-choi Jun 3, 2026
d2d9d20
Improve benchmarking output and standardize ratio conventions
sou-cheng-choi Jun 3, 2026
9d24574
Aggregate summary metrics
sou-cheng-choi Jun 3, 2026
93b76ad
remove metadata and add single-run summary function
sou-cheng-choi Jun 3, 2026
642c423
Support custom output file labels
sou-cheng-choi Jun 3, 2026
5db56bf
Fix error
sou-cheng-choi Jun 3, 2026
f0c1324
Support labeled Julia-vs-QMCPy comparison
sou-cheng-choi Jun 3, 2026
852c121
Add README for benchmarking QMC.jl
sou-cheng-choi Jun 3, 2026
aad1791
Add large-d cases for Gaussian transform benchmarks
sou-cheng-choi Jun 3, 2026
79b3830
Add bench-all-label target
sou-cheng-choi Jun 3, 2026
10ac89a
Add bench-compare-labels target and update README
sou-cheng-choi Jun 3, 2026
0804b89
Reduce memory and run time
sou-cheng-choi Jun 3, 2026
e9ddfb6
Add allocation-audit benchmarks for Gaussian transforms and large-d c…
sou-cheng-choi Jun 3, 2026
a78fa5e
Disable formatting test
sou-cheng-choi Jun 3, 2026
ed9c57e
Add QMCPy benchmark for Python memory
sou-cheng-choi Jun 3, 2026
cbe3eb8
Add memory tracking
sou-cheng-choi Jun 3, 2026
3ebdcf5
Update memory measurement
sou-cheng-choi Jun 3, 2026
4645b6c
improve benchmarking output
sou-cheng-choi Jun 3, 2026
3fd0281
Add accuracy checks for Julia vs Python solutions
sou-cheng-choi Jun 3, 2026
4709fb3
Refactor benchmark integration cases
sou-cheng-choi Jun 3, 2026
d4553a1
Fix typo
sou-cheng-choi Jun 3, 2026
5785bbc
Update benchmarks.jl
sou-cheng-choi Jun 3, 2026
ae34022
Update keister.jl
sou-cheng-choi Jun 3, 2026
ea66887
Add exact value checks and accuracy summary for integration benchmarks
sou-cheng-choi Jun 3, 2026
a2a73aa
Add benchmarking cases and update documentation
sou-cheng-choi Jun 3, 2026
851ba29
Refactor stopping criteria calculations and enhance tests with exact …
sou-cheng-choi Jun 3, 2026
b77cfd7
Enhance Keister integral computation and tests
sou-cheng-choi Jun 3, 2026
6c6a190
Refactor benchmark integrand initialization
sou-cheng-choi Jun 3, 2026
9ce6deb
Add function to run benchmarks in a controlled environment with proje…
sou-cheng-choi Jun 3, 2026
ecc9567
Enhance stopping criteria and add tests
sou-cheng-choi Jun 4, 2026
293426c
Normalize order aliases in Lattice and update tests
sou-cheng-choi Jun 4, 2026
026f528
Add Rational Quadratic kernel implementation and tests
sou-cheng-choi Jun 4, 2026
d38af78
Add set_tolerance! function and corresponding tests for stopping crit…
sou-cheng-choi Jun 4, 2026
d018b7f
format
sou-cheng-choi Jun 4, 2026
c6d4616
Add KernelSquaredExponential implementation and update set_tolerance!…
sou-cheng-choi Jun 4, 2026
e5f6d18
fix format
sou-cheng-choi Jun 4, 2026
2cc77d9
Update Makefile to include benchmark directory in formatting and chec…
sou-cheng-choi Jun 4, 2026
c7aaa6f
Add AcceptanceRejectionReal
sou-cheng-choi Jun 4, 2026
f118226
Update JuliaFormatter settings and improve benchmark test assertions
sou-cheng-choi Jun 4, 2026
564c5d2
Better format
sou-cheng-choi Jun 4, 2026
d934070
Add support for digital options and corresponding tests
sou-cheng-choi Jun 4, 2026
e3f91d4
Improve output formatting
sou-cheng-choi Jun 4, 2026
d812831
Add exact value calculation for geometric Asian options and tests
sou-cheng-choi Jun 4, 2026
e4df345
Add deterministic value checks
sou-cheng-choi Jun 4, 2026
c74507f
Add closed-form reference values and sensitivity indices for Ishigami…
sou-cheng-choi Jun 4, 2026
524a763
Add new tests for integration and utility
sou-cheng-choi Jun 4, 2026
bb2ec97
formatting
sou-cheng-choi Jun 4, 2026
8442b48
Disable CompatHelper and nightly workflows; add disabled versions for…
sou-cheng-choi Jun 4, 2026
0db5b53
Merge origin/develop into choi and resolve conflicts
Copilot Jun 4, 2026
2cb7d24
Enhance digital net and lattice generators with custom generating vec…
sou-cheng-choi Jun 4, 2026
bbb2e8d
Better format and make coverage report
sou-cheng-choi Jun 4, 2026
31bd78f
Add support for custom random odd generating vectors in Lattice and e…
sou-cheng-choi Jun 4, 2026
b989469
Update documentation
sou-cheng-choi Jun 4, 2026
70e8624
Clean up documentation build directory before generating new document…
sou-cheng-choi Jun 4, 2026
266e9c1
Merge branch 'choi' of https://github.com/QMCSoftware/QMC.jl into choi
sou-cheng-choi Jun 4, 2026
6944da5
Enhance DigitalNetB2 with custom generating matrices support and impr…
sou-cheng-choi Jun 4, 2026
e8c61a9
Enhance stopping criterion tolerance handling and add tests
sou-cheng-choi Jun 4, 2026
eb0f393
Format
sou-cheng-choi Jun 4, 2026
db298e9
Enhance benchmarking and coverage reporting in Makefile and related s…
sou-cheng-choi Jun 4, 2026
51071b4
Clean up Makefile by removing coverage files after benchmarks
sou-cheng-choi Jun 4, 2026
1728016
Enhance benchmark commands
sou-cheng-choi Jun 4, 2026
4af0946
Fix terminology in collect_integrate_solutions
sou-cheng-choi Jun 4, 2026
d91ffb8
Add lcov.info to .gitignore
sou-cheng-choi Jun 4, 2026
facf4be
Remove CHANGELOG.md and citation file cite_qmcju.bib
sou-cheng-choi Jun 4, 2026
5455d0f
Add new integration functions for CubMCCLT and CubQMCLatticeG options
sou-cheng-choi Jun 4, 2026
d2e3104
Add space
sou-cheng-choi Jun 4, 2026
93347a9
Add extra newline to output
sou-cheng-choi Jun 4, 2026
2598618
Optimize evaluation functions for BoxIntegral, Genz, and Linear0 by i…
sou-cheng-choi Jun 4, 2026
ece54f0
Output formatting
sou-cheng-choi Jun 4, 2026
7d4eb9f
Optimize integration function for CubQMCNetG by batching evaluations …
sou-cheng-choi Jun 4, 2026
326456a
Optimize StudentT transformation for df=2.0 by implementing a closed-…
sou-cheng-choi Jun 4, 2026
274394a
Optimize matrix operations for performance by leveraging column-major…
sou-cheng-choi Jun 4, 2026
5920bb4
Optimize acceptance-rejection transform for performance by accumulati…
sou-cheng-choi Jun 4, 2026
bee79de
Simplify make target name. Optimize Johnson's SU transformation usin…
sou-cheng-choi Jun 4, 2026
674fff1
Enhance notebook runner with verbose output option
sou-cheng-choi Jun 4, 2026
f35e8d7
Fix summary output to only display failed notebooks
sou-cheng-choi Jun 4, 2026
9d877aa
Optimize integrate function by batching R replicates' transform and e…
sou-cheng-choi Jun 4, 2026
ca5733c
Measure run time of doc
sou-cheng-choi Jun 4, 2026
e9b3322
Batch R replicates for improved performance and memory efficiency. Ad…
sou-cheng-choi Jun 4, 2026
1169d79
+ orthonormal Fast Walsh-Hadamard transform `_fwht_ortho`
sou-cheng-choi Jun 4, 2026
eb1869a
+ in-place coefficient decay-ordering function and tests
sou-cheng-choi Jun 4, 2026
e3a36c5
Add CubQMCNetGSingle stopping criterion and related tests/doc
sou-cheng-choi Jun 4, 2026
beb8e29
Enhance CubQMCNetGSingle with r_lag parameter
sou-cheng-choi Jun 4, 2026
4f40516
reorganize sections and add local CI target
sou-cheng-choi Jun 4, 2026
2dc8095
Move targets for better structure
sou-cheng-choi Jun 5, 2026
e2ae116
Add benchmark cases for CubQMCNetGSingle
sou-cheng-choi Jun 5, 2026
37bd0fa
Update local CI target to run tests and benchmarks WITHOUT coverage
sou-cheng-choi Jun 5, 2026
3472f6b
Add coverage caveat to benchmark README
sou-cheng-choi Jun 5, 2026
e8e796c
Fix grammatical error
sou-cheng-choi Jun 5, 2026
45237fa
Replace CubQMCNetGSingle with CubQMCNetGRep
sou-cheng-choi Jun 5, 2026
968d86f
Enhance DigitalNetB2 initialization across demos
sou-cheng-choi Jun 5, 2026
d0ebe7f
Update kernel specifications in digital_net_b2 notebook Julia 1.12.6
sou-cheng-choi Jun 5, 2026
1f29132
Enhanced lattice.jl to support LDData filenames and URL
sou-cheng-choi Jun 5, 2026
432f251
Merge branch 'develop' into choi
sou-cheng-choi Jun 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.jl.cov
*.jl.*.cov
*.jl.mem
lcov.info

# Ignore the root package lockfile and the formatter tool lockfile.
# Keep docs/Manifest.toml trackable for reproducible documentation builds.
Expand Down Expand Up @@ -41,4 +42,4 @@ benchmark/results/

# Developer-specific files
sc_*
lcov.info

82 changes: 0 additions & 82 deletions CHANGELOG.md

This file was deleted.

110 changes: 86 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
.PHONY: test coverage doc format format-check lint clean bench bench-compare bench-compare-py bench-compare-py-label bench-all-label bench-compare-labels check-qmcpy-python
.PHONY: test coverage doc format format-check lint clean bench bench-compare bench-compare-py bench-compare-py-label bench-all bench-compare-labels bench-coverage bench-compare-coverage bench-compare-py-coverage bench-all-coverage local-ci check-qmcpy-python

# ============================================================================
# Configuration and helpers
# ============================================================================

FORMATTER_PROJECT=devtools/formatter
DOC_DEPOT ?= $(if $(TMPDIR),$(TMPDIR),/tmp/)qmcju-doc-depot
Expand All @@ -10,6 +14,18 @@ QMCPY_PYTHON_AUTO := $(shell \
fi; \
done)
PYTHON ?= $(if $(QMCPY_PYTHON_AUTO),$(QMCPY_PYTHON_AUTO),python)
BENCH_COVERAGE ?= 0
JULIA_BENCH_COVERAGE_FLAG := $(if $(filter 1,$(BENCH_COVERAGE)),--code-coverage=user,)

define RUN_TIMED
@start=$$(date +%s); \
$(1); \
exit_code=$$?; \
end=$$(date +%s); \
elapsed=$$((end - start)); \
printf '\n[%s] total runtime: %ss\n' "$(2)" "$$elapsed"; \
exit $$exit_code
endef

# Allow `make bench gaus` / `make bench-compare gaus` / `make bench-compare-py gaus`
# as shorthand for `LABEL=gaus`. `make` treats `gaus` as an extra goal, so consume
Expand All @@ -33,15 +49,33 @@ ifneq ($(filter bench-compare-labels,$(firstword $(MAKECMDGOALS))),)
LABEL_B ?= $(word 2,$(EXTRA_LABEL_COMPARE_GOALS))
OUT_LABEL ?= $(word 3,$(EXTRA_LABEL_COMPARE_GOALS))
.PHONY: $(EXTRA_LABEL_COMPARE_GOALS)
$(EXTRA_LABEL_COMPARE_GOALS):
$(EXTRA_LABEL_COMPARE_GOALS):
@:
endif
endif

# ============================================================================
# Project maintenance and setup
# ============================================================================

# Update packages and resolve dependencies
update:
julia --project=. -e 'using Pkg; Pkg.update(); Pkg.resolve'

# Instantiate project dependencies (includes Plots and all other deps). Download what Manifest.toml says.
setup:
julia --project=. -e 'using Pkg; Pkg.instantiate()'

# Clean build artifacts
clean:
rm -rf docs/build
rm -rf *.jl.cov *.jl.*.cov *.jl.mem lcov.info
find src benchmark test -name '*.cov' -delete

# ============================================================================
# Testing and coverage
# ============================================================================

# Run all tests
test:
julia --project=. -e 'using Pkg; Pkg.instantiate(); Pkg.test()'
Expand All @@ -52,16 +86,23 @@ coverage:
rm -f lcov.info
julia --project=. -e 'using Pkg; Pkg.instantiate(); Pkg.test(coverage=true)'
julia --project=. devtools/process_coverage.jl
find src test -name '*.cov' -delete

# Run specific test file
test-%:
julia --project=. -e 'include("test/$*.jl")'

# ============================================================================
# Documentation
# ============================================================================

# Build documentation
doc:
rm -rf docs/build
JULIA_DEPOT_PATH="$(DOC_DEPOT):$(HOME)/.julia" julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.resolve()'
JULIA_DEPOT_PATH="$(DOC_DEPOT):$(HOME)/.julia" julia --project=docs docs/make.jl
$(call RUN_TIMED,rm -rf docs/build && JULIA_DEPOT_PATH="$(DOC_DEPOT):$(HOME)/.julia" julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.resolve()' && JULIA_DEPOT_PATH="$(DOC_DEPOT):$(HOME)/.julia" julia --project=docs docs/make.jl,doc)

# ============================================================================
# Formatting
# ============================================================================

# Format code with JuliaFormatter (uses the repo .JuliaFormatter.toml for all paths)
format:
Expand All @@ -71,14 +112,9 @@ format:
format-check:
julia --project=$(FORMATTER_PROJECT) -e 'using Pkg; Pkg.instantiate(); using JuliaFormatter; @assert format(["src/", "test/", "benchmark/"], overwrite=false)'

# Clean build artifacts
clean:
rm -rf docs/build
rm -rf *.jl.cov *.jl.*.cov *.jl.mem lcov.info

# Instantiate project dependencies (includes Plots and all other deps). Download what Manifest.toml says.
setup:
julia --project=. -e 'using Pkg; Pkg.instantiate()'
# ============================================================================
# Smoke checks and notebooks
# ============================================================================

# Run a quick smoke test
smoke:
Expand All @@ -92,11 +128,15 @@ notebook:
notebook-%:
julia --project=. test/run_notebooks.jl $*

# ============================================================================
# Benchmarking
# ============================================================================

# Run the benchmark suite (uses its own environment in benchmark/, set up on first run)
# Override output label with: make bench LABEL=gaus or make bench gaus
# Saves results to benchmark/results/latest.json (default) or <LABEL>.json
bench:
julia benchmark/runbenchmarks.jl $(LABEL)
$(call RUN_TIMED,BENCH_COVERAGE=$(BENCH_COVERAGE) julia $(JULIA_BENCH_COVERAGE_FLAG) benchmark/runbenchmarks.jl $(LABEL),bench)

check-qmcpy-python:
@$(PYTHON) -c "import qmcpy" >/dev/null 2>&1 || \
Expand All @@ -112,7 +152,7 @@ check-qmcpy-python:
REV ?= HEAD
LABEL ?=
bench-compare:
julia benchmark/compare.jl $(REV) $(LABEL)
$(call RUN_TIMED,BENCH_COVERAGE=$(BENCH_COVERAGE) julia $(JULIA_BENCH_COVERAGE_FLAG) benchmark/compare.jl $(REV) $(LABEL),bench-compare)

# Side-by-side Julia vs QMCPy comparison.
# Runs both the Julia and QMCPy benchmark harnesses for the requested labels.
Expand All @@ -124,24 +164,46 @@ bench-compare:
JL_LABEL ?= $(if $(LABEL),$(LABEL),latest)
PY_LABEL ?= $(JL_LABEL)
bench-compare-py: bench check-qmcpy-python
$(PYTHON) benchmark/benchmark_qmcpy.py $(PY_LABEL)
julia benchmark/compare_py.jl $(JL_LABEL) $(PY_LABEL) $(LABEL)
$(call RUN_TIMED,$(PYTHON) benchmark/benchmark_qmcpy.py $(PY_LABEL) && BENCH_COVERAGE=$(BENCH_COVERAGE) julia $(JULIA_BENCH_COVERAGE_FLAG) benchmark/compare_py.jl $(JL_LABEL) $(PY_LABEL) $(LABEL),bench-compare-py)

# Explicit labeled Julia-vs-QMCPy comparison flow.
# Usage: make bench-compare-py-label LABEL=base
bench-compare-py-label: check-qmcpy-python
julia benchmark/runbenchmarks.jl $(LABEL)
$(PYTHON) benchmark/benchmark_qmcpy.py $(LABEL)
julia benchmark/compare_py.jl $(LABEL) $(LABEL) $(LABEL)
$(call RUN_TIMED,BENCH_COVERAGE=$(BENCH_COVERAGE) julia $(JULIA_BENCH_COVERAGE_FLAG) benchmark/runbenchmarks.jl $(LABEL) && $(PYTHON) benchmark/benchmark_qmcpy.py $(LABEL) && BENCH_COVERAGE=$(BENCH_COVERAGE) julia $(JULIA_BENCH_COVERAGE_FLAG) benchmark/compare_py.jl $(LABEL) $(LABEL) $(LABEL),bench-compare-py-label)

# Run the labeled Julia-only comparison and Julia-vs-QMCPy comparison in one task.
# Usage: make bench-all-label LABEL=base
bench-all-label:
$(MAKE) bench-compare LABEL=$(LABEL)
$(MAKE) bench-compare-py LABEL=$(LABEL)
# Usage: make bench-all LABEL=base
bench-all:
$(call RUN_TIMED,$(MAKE) bench-compare BENCH_COVERAGE=$(BENCH_COVERAGE) LABEL=$(LABEL) && $(MAKE) bench-compare-py BENCH_COVERAGE=$(BENCH_COVERAGE) LABEL=$(LABEL),bench-all)

# Run the benchmark suite with coverage enabled and produce an lcov report over
# both src/ and benchmark/ coverage files.
bench-coverage:
$(call RUN_TIMED,find src benchmark -name '*.cov' -delete && rm -f lcov.info && $(MAKE) bench BENCH_COVERAGE=1 && julia --project=. devtools/process_coverage.jl src benchmark && find src benchmark -name '*.cov' -delete,bench-coverage)

# Run the Julia-vs-Julia comparison with coverage enabled and produce an lcov report.
bench-compare-coverage:
$(call RUN_TIMED,find src benchmark -name '*.cov' -delete && rm -f lcov.info && $(MAKE) bench-compare BENCH_COVERAGE=1 REV=$(REV) LABEL=$(LABEL) && julia --project=. devtools/process_coverage.jl src benchmark && find src benchmark -name '*.cov' -delete,bench-compare-coverage)

# Run the Julia-vs-QMCPy comparison with coverage enabled and produce an lcov report.
bench-compare-py-coverage:
$(call RUN_TIMED,find src benchmark -name '*.cov' -delete && rm -f lcov.info && $(MAKE) bench-compare-py BENCH_COVERAGE=1 LABEL=$(LABEL) JL_LABEL=$(JL_LABEL) PY_LABEL=$(PY_LABEL) && julia --project=. devtools/process_coverage.jl src benchmark && find src benchmark -name '*.cov' -delete,bench-compare-py-coverage)

# Run the full labeled benchmark workflow with coverage enabled and produce an lcov report.
bench-all-coverage:
$(call RUN_TIMED,find src benchmark -name '*.cov' -delete && rm -f lcov.info && $(MAKE) bench-all BENCH_COVERAGE=1 LABEL=$(LABEL) && julia --project=. devtools/process_coverage.jl src benchmark && find src benchmark -name '*.cov' -delete,bench-all-coverage)

# Compare two saved Julia benchmark-result labels and decide which one is better.
# Usage: make bench-compare-labels LABEL_A=a LABEL_B=b [OUT_LABEL=report]
# or: make bench-compare-labels a b [report]
bench-compare-labels:
julia benchmark/compare_labels.jl $(LABEL_A) $(LABEL_B) $(OUT_LABEL)

# ============================================================================
# Combination of above targets
# ============================================================================

# Run the local full-check pipeline: format code, collect unit-test,
# then collect full benchmark. Pass LABEL=... through to the benchmark step.
local-ci:
$(call RUN_TIMED,$(MAKE) format && $(MAKE) test && $(MAKE) bench-all LABEL=$(LABEL),local-ci)
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ authors = ["Sou-Cheng T. Choi", "Fred J. Hickernell", "QMC Contributors"]
[deps]
NBInclude = "0db19996-df87-5ea3-a455-e3a50d440464"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Expand All @@ -18,6 +19,7 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
[compat]
Aqua = "0.8"
Distributions = "0.25"
Downloads = "1"
FFTW = "1"
Libdl = "1.10"
LinearAlgebra = "1.10"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ QMC.jl provides four building blocks that snap together:
| **Discrete Distribution** | `IIDStdUniform`, `Lattice`, `DigitalNetB2`, `Halton`, `Kronecker`, `DigitalNetAnyBases`, `Faure` |
| **True Measure** | `Uniform`, `Gaussian`, `BrownianMotion`, `Lebesgue`, `GeometricBrownianMotion`, `StudentT`, `Triangular`, `Kumaraswamy`, `JohnsonsSU`, `BernoulliCont`, `AcceptanceRejection`, `DistributionsWrapper`, `MaternGP`, `UniformTriangle`, `ZeroInflatedExpUniform` |
| **Integrand** | `Keister`, `Genz`, `AsianOption`, `FinancialOption`, `FinancialOptionML`, `BoxIntegral`, `Linear0`, `Sin1D`, `Ishigami`, `Hartmann6D`, `Multimodal2D`, `FourBranch2D`, `SensitivityIndices`, `BayesianLRCoeffs`, `UMBridgeWrapper`, `CustomFun` |
| **Stopping Criterion** | `CubMCCLT`, `CubMCCLTVec`, `CubMCG`, `CubQMCLatticeG`, `CubQMCNetG`, `CubQMCBayesLatticeG`, `CubQMCBayesNetG`, `CubQMCRepStudentT`, `CubMLMC`, `CubMLMCCont`, `CubMLQMC`, `CubMLQMCCont`, `PFGPCI` |
| **Stopping Criterion** | `CubMCCLT`, `CubMCCLTVec`, `CubMCG`, `CubQMCLatticeG`, `CubQMCNetG`, `CubQMCNetGRep`, `CubQMCBayesLatticeG`, `CubQMCBayesNetG`, `CubQMCRepStudentT`, `CubMLMC`, `CubMLMCCont`, `CubMLQMC`, `CubMLQMCCont`, `PFGPCI` |
| **Kernel** | `KernelShiftInvar`, `KernelDigShiftInvar`, `KernelMatern12`, `KernelMatern32`, `KernelMatern52`, `KernelGaussian`, `KernelMultiTask`, `SumKernel`, `ProductKernel` |

Additional utilities include periodization transforms, iteration diagnostics (`IterationLog`), resume/checkpoint support, Walsh-Hadamard and BRO-FFT transforms, and a LatNetBuilder linker.
Expand Down
Loading
Loading