RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Functions | Variables
test_sobol Namespace Reference

Functions

 ishigami (x1, x2, x3, a=7.0, b=0.1)
 
 build (N=4096, seed=7)
 
 report (tag, r, drop_note="")
 
 main ()
 

Variables

 HERE = Path(__file__).resolve().parent
 
dict EXACT_S = {"x1": 0.3139, "x2": 0.4424, "x3": 0.0000}
 
dict EXACT_ST = {"x1": 0.5576, "x2": 0.4424, "x3": 0.2437}
 

Detailed Description

Validate the Saltelli estimator against Ishigami, whose indices are analytic.

    f(x) = sin(x1) + a sin^2(x2) + b x3^4 sin(x1),   x ~ U[-pi, pi]^3

with a = 7, b = 0.1 the exact indices are

    S1  = 0.3139   S2  = 0.4424   S3  = 0.0000
    ST1 = 0.5576   ST2 = 0.4424   ST3 = 0.2437

x3 is the interesting one: S3 = 0 exactly while ST3 = 0.244, i.e. it acts ONLY
through its interaction with x1.  An estimator that got S right but ST wrong
would pass a naive check and then silently screen out exactly the parameters
that matter through interactions -- which for this campaign would mean dropping
a loop-conversion parameter that is inert alone but live in combination.

Also tests PAIRWISE DELETION, the part that is easy to get wrong: some AB rows
are deliberately marked unusable and the indices must stay near truth, with
n_eff reporting the reduced count for the affected parameter only.

    python test_sobol.py

Function Documentation

◆ build()

test_sobol.build (   N = 4096,
  seed = 7 
)

Definition at line 43 of file test_sobol.py.

◆ ishigami()

test_sobol.ishigami (   x1,
  x2,
  x3,
  a = 7.0,
  b = 0.1 
)

Definition at line 39 of file test_sobol.py.

◆ main()

test_sobol.main ( )

Definition at line 84 of file test_sobol.py.

◆ report()

test_sobol.report (   tag,
  r,
  drop_note = "" 
)

Definition at line 70 of file test_sobol.py.

Variable Documentation

◆ EXACT_S

dict test_sobol.EXACT_S = {"x1": 0.3139, "x2": 0.4424, "x3": 0.0000}

Definition at line 35 of file test_sobol.py.

◆ EXACT_ST

dict test_sobol.EXACT_ST = {"x1": 0.5576, "x2": 0.4424, "x3": 0.2437}

Definition at line 36 of file test_sobol.py.

◆ HERE

test_sobol.HERE = Path(__file__).resolve().parent

Definition at line 31 of file test_sobol.py.