Skip to content

Commit

Permalink
Merge pull request #431 from damar-wicaksono/dev-327
Browse files Browse the repository at this point in the history
Add Linkletter et al. (2006) linear test function
  • Loading branch information
damar-wicaksono authored Dec 5, 2024
2 parents 451ca14 + 7a6e18f commit 99e70aa
Show file tree
Hide file tree
Showing 8 changed files with 281 additions and 71 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- The ten-dimensional linear function from Linkletter et al. (2006) featuring
only four active input variables out of ten; the function was used
in the context of metamodeling and sensitivity analysis.
- The eight-dimensional function from Dette and Pepelyshev (2010) featuring
curved and logarithm terms for metamodeling exercises.
- The three-dimensional highly-curved function from Dette and Pepelyshev (2010)
Expand Down
91 changes: 46 additions & 45 deletions docs/fundamentals/metamodeling.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,51 +18,52 @@ kernelspec:
The table below listed the available test functions typically used
in the comparison of metamodeling approaches.

| Name | Input Dimension | Constructor |
|:-----------------------------------------------------------------------:|:---------------:|:----------------------:|
| {ref}`Ackley <test-functions:ackley>` | M | `Ackley()` |
| {ref}`Alemazkoor & Meidani (2018) 2D <test-functions:alemazkoor-2d>` | 2 | `Alemazkoor2D()` |
| {ref}`Alemazkoor & Meidani (2018) 20D <test-functions:alemazkoor-20d>` | 20 | `Alemazkoor20D()` |
| {ref}`Borehole <test-functions:borehole>` | 8 | `Borehole()` |
| {ref}`Cheng and Sandu (2010) 2D <test-functions:cheng2d>` | 2 | `Cheng2D` |
| {ref}`Coffee Cup Model <test-functions:coffee-cup>` | 2 | `CoffeeCup()` |
| {ref}`Currin et al. (1988) Sine <test-functions:currin-sine>` | 1 | `CurrinSine()` |
| {ref}`Damped Cosine <test-functions:damped-cosine>` | 1 | `DampedCosine()` |
| {ref}`Damped Oscillator <test-functions:damped-oscillator>` | 7 | `DampedOscillator()` |
| {ref}`Dette & Pepelyshev (2010) 8D <test-functions:dette-8d>` | 3 | `Dette8D()` |
| {ref}`Dette & Pepelyshev (2010) Curved <test-functions:dette-curved>` | 3 | `DetteCurved()` |
| {ref}`Dette & Pepelyshev (2010) Exponential <test-functions:dette-exp>` | 3 | `DetteExp()` |
| {ref}`Flood <test-functions:flood>` | 8 | `Flood()` |
| {ref}`Forrester et al. (2008) <test-functions:forrester>` | 1 | `Forrester2008()` |
| {ref}`(1st) Franke <test-functions:franke-1>` | 2 | `Franke1()` |
| {ref}`(2nd) Franke <test-functions:franke-2>` | 2 | `Franke2()` |
| {ref}`(3rd) Franke <test-functions:franke-3>` | 2 | `Franke3()` |
| {ref}`(4th) Franke <test-functions:franke-4>` | 2 | `Franke4()` |
| {ref}`(5th) Franke <test-functions:franke-5>` | 2 | `Franke5()` |
| {ref}`(6th) Franke <test-functions:franke-6>` | 2 | `Franke6()` |
| {ref}`Friedman (6D) <test-functions:friedman-6d>` | 6 | `Friedman6D()` |
| {ref}`Friedman (10D) <test-functions:friedman-10d>` | 10 | `Friedman10D()` |
| {ref}`Genz (Corner Peak) <test-functions:genz-corner-peak>` | M | `GenzCornerPeak()` |
| {ref}`Gramacy (2007) 1D Sine <test-functions:gramacy-1d-sine>` | 1 | `Gramacy1DSine()` |
| {ref}`Higdon (2002) Sine <test-functions:higdon-sine>` | 1 | `HigdonSine()` |
| {ref}`Holsclaw et al. (2013) Sine <test-functions:holsclaw-sine>` | 1 | `HolsclawSine()` |
| {ref}`Lim et al. (2002) Non-Polynomial <test-functions:lim-non-poly>` | 2 | `LimNonPoly()` |
| {ref}`Lim et al. (2002) Polynomial <test-functions:lim-poly>` | 2 | `LimPoly()` |
| {ref}`McLain S1 <test-functions:mclain-s1>` | 2 | `McLainS1()` |
| {ref}`McLain S2 <test-functions:mclain-s2>` | 2 | `McLainS2()` |
| {ref}`McLain S3 <test-functions:mclain-s3>` | 2 | `McLainS3()` |
| {ref}`McLain S4 <test-functions:mclain-s4>` | 2 | `McLainS4()` |
| {ref}`McLain S5 <test-functions:mclain-s5>` | 2 | `McLainS5()` |
| {ref}`Oakley & O'Hagan (2002) 1D <test-functions:oakley-1d>` | 1 | `Oakley1D()` |
| {ref}`OTL Circuit <test-functions:otl-circuit>` | 6 / 20 | `OTLCircuit()` |
| {ref}`Piston Simulation <test-functions:piston>` | 7 / 20 | `Piston()` |
| {ref}`Robot Arm <test-functions:robot-arm>` | 8 | `RobotArm()` |
| {ref}`Solar Cell Model <test-functions:solar-cell>` | 5 | `SolarCell()` |
| {ref}`Sulfur <test-functions:sulfur>` | 9 | `Sulfur()` |
| {ref}`Undamped Oscillator <test-functions:undamped-oscillator>` | 6 | `UndampedOscillator()` |
| {ref}`Webster et al. (1996) 2D <test-functions:webster-2d>` | 2 | `Webster2D()` |
| {ref}`Welch et al. (1992) <test-functions:welch1992>` | 20 | `Welch1992()` |
| {ref}`Wing Weight <test-functions:wing-weight>` | 10 | `WingWeight()` |
| Name | Input Dimension | Constructor |
|:-------------------------------------------------------------------------:|:---------------:|:----------------------:|
| {ref}`Ackley <test-functions:ackley>` | M | `Ackley()` |
| {ref}`Alemazkoor & Meidani (2018) 2D <test-functions:alemazkoor-2d>` | 2 | `Alemazkoor2D()` |
| {ref}`Alemazkoor & Meidani (2018) 20D <test-functions:alemazkoor-20d>` | 20 | `Alemazkoor20D()` |
| {ref}`Borehole <test-functions:borehole>` | 8 | `Borehole()` |
| {ref}`Cheng and Sandu (2010) 2D <test-functions:cheng2d>` | 2 | `Cheng2D` |
| {ref}`Coffee Cup Model <test-functions:coffee-cup>` | 2 | `CoffeeCup()` |
| {ref}`Currin et al. (1988) Sine <test-functions:currin-sine>` | 1 | `CurrinSine()` |
| {ref}`Damped Cosine <test-functions:damped-cosine>` | 1 | `DampedCosine()` |
| {ref}`Damped Oscillator <test-functions:damped-oscillator>` | 7 | `DampedOscillator()` |
| {ref}`Dette & Pepelyshev (2010) 8D <test-functions:dette-8d>` | 3 | `Dette8D()` |
| {ref}`Dette & Pepelyshev (2010) Curved <test-functions:dette-curved>` | 3 | `DetteCurved()` |
| {ref}`Dette & Pepelyshev (2010) Exponential <test-functions:dette-exp>` | 3 | `DetteExp()` |
| {ref}`Flood <test-functions:flood>` | 8 | `Flood()` |
| {ref}`Forrester et al. (2008) <test-functions:forrester>` | 1 | `Forrester2008()` |
| {ref}`(1st) Franke <test-functions:franke-1>` | 2 | `Franke1()` |
| {ref}`(2nd) Franke <test-functions:franke-2>` | 2 | `Franke2()` |
| {ref}`(3rd) Franke <test-functions:franke-3>` | 2 | `Franke3()` |
| {ref}`(4th) Franke <test-functions:franke-4>` | 2 | `Franke4()` |
| {ref}`(5th) Franke <test-functions:franke-5>` | 2 | `Franke5()` |
| {ref}`(6th) Franke <test-functions:franke-6>` | 2 | `Franke6()` |
| {ref}`Friedman (6D) <test-functions:friedman-6d>` | 6 | `Friedman6D()` |
| {ref}`Friedman (10D) <test-functions:friedman-10d>` | 10 | `Friedman10D()` |
| {ref}`Genz (Corner Peak) <test-functions:genz-corner-peak>` | M | `GenzCornerPeak()` |
| {ref}`Gramacy (2007) 1D Sine <test-functions:gramacy-1d-sine>` | 1 | `Gramacy1DSine()` |
| {ref}`Higdon (2002) Sine <test-functions:higdon-sine>` | 1 | `HigdonSine()` |
| {ref}`Holsclaw et al. (2013) Sine <test-functions:holsclaw-sine>` | 1 | `HolsclawSine()` |
| {ref}`Lim et al. (2002) Non-Polynomial <test-functions:lim-non-poly>` | 2 | `LimNonPoly()` |
| {ref}`Lim et al. (2002) Polynomial <test-functions:lim-poly>` | 2 | `LimPoly()` |
| {ref}`Linkletter et al. (2006) Linear <test-functions:linkletter-linear>` | 10 | `LinkletterLinear()` |
| {ref}`McLain S1 <test-functions:mclain-s1>` | 2 | `McLainS1()` |
| {ref}`McLain S2 <test-functions:mclain-s2>` | 2 | `McLainS2()` |
| {ref}`McLain S3 <test-functions:mclain-s3>` | 2 | `McLainS3()` |
| {ref}`McLain S4 <test-functions:mclain-s4>` | 2 | `McLainS4()` |
| {ref}`McLain S5 <test-functions:mclain-s5>` | 2 | `McLainS5()` |
| {ref}`Oakley & O'Hagan (2002) 1D <test-functions:oakley-1d>` | 1 | `Oakley1D()` |
| {ref}`OTL Circuit <test-functions:otl-circuit>` | 6 / 20 | `OTLCircuit()` |
| {ref}`Piston Simulation <test-functions:piston>` | 7 / 20 | `Piston()` |
| {ref}`Robot Arm <test-functions:robot-arm>` | 8 | `RobotArm()` |
| {ref}`Solar Cell Model <test-functions:solar-cell>` | 5 | `SolarCell()` |
| {ref}`Sulfur <test-functions:sulfur>` | 9 | `Sulfur()` |
| {ref}`Undamped Oscillator <test-functions:undamped-oscillator>` | 6 | `UndampedOscillator()` |
| {ref}`Webster et al. (1996) 2D <test-functions:webster-2d>` | 2 | `Webster2D()` |
| {ref}`Welch et al. (1992) <test-functions:welch1992>` | 20 | `Welch1992()` |
| {ref}`Wing Weight <test-functions:wing-weight>` | 10 | `WingWeight()` |

In a Python terminal, you can list all the available functions relevant
for metamodeling applications using ``list_functions()``
Expand Down
53 changes: 27 additions & 26 deletions docs/fundamentals/sensitivity.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,33 @@ kernelspec:
The table below listed the available test functions typically used
in the comparison of sensitivity analysis methods.

| Name | Input Dimension | Constructor |
|:----------------------------------------------------------------:|:---------------:|:----------------------:|
| {ref}`Borehole <test-functions:borehole>` | 8 | `Borehole()` |
| {ref}`Bratley et al. (1992) A <test-functions:bratley1992a>` | M | `Bratley1992a()` |
| {ref}`Bratley et al. (1992) B <test-functions:bratley1992b>` | M | `Bratley1992b()` |
| {ref}`Bratley et al. (1992) C <test-functions:bratley1992c>` | M | `Bratley1992c()` |
| {ref}`Bratley et al. (1992) D <test-functions:bratley1992d>` | M | `Bratley1992d()` |
| {ref}`Damped Oscillator <test-functions:damped-oscillator>` | 7 | `DampedOscillator()` |
| {ref}`Flood <test-functions:flood>` | 8 | `Flood()` |
| {ref}`Friedman (6D) <test-functions:friedman-6d>` | 6 | `Friedman6D()` |
| {ref}`Genz (Corner Peak) <test-functions:genz-corner-peak>` | M | `GenzCornerPeak()` |
| {ref}`Genz (Discontinuous) <test-functions:genz-discontinuous>` | M | `GenzDiscontinuous()` |
| {ref}`Ishigami <test-functions:ishigami>` | 3 | `Ishigami()` |
| {ref}`Moon (2010) 3D <test-functions:moon3d>` | 3 | `Moon3D()` |
| {ref}`Morris et al. (2006) <test-functions:morris2006>` | M | `Morris2006()` |
| {ref}`OTL Circuit <test-functions:otl-circuit>` | 6 / 20 | `OTLCircuit()` |
| {ref}`Piston Simulation <test-functions:piston>` | 7 / 20 | `Piston()` |
| {ref}`Simple Portfolio Model <test-functions:portfolio-3d>` | 3 | `Portfolio3D()` |
| {ref}`SaltelliLinear <test-functions:saltelli-linear>` | M | `SaltelliLinear()` |
| {ref}`Sobol'-G <test-functions:sobol-g>` | M | `SobolG()` |
| {ref}`Sobol'-G* <test-functions:sobol-g-star>` | M | `SobolGStar()` |
| {ref}`Sobol'-Levitan <test-functions:sobol-levitan>` | M | `SobolLevitan()` |
| {ref}`Solar Cell Model <test-functions:solar-cell>` | 5 | `SolarCell()` |
| {ref}`Sulfur <test-functions:sulfur>` | 9 | `Sulfur()` |
| {ref}`Welch et al. (1992) <test-functions:welch1992>` | 20 | `Welch1992()` |
| {ref}`Wing Weight <test-functions:wing-weight>` | 10 | `WingWeight()` |
| Name | Input Dimension | Constructor |
|:--------------------------------------------------------------------------:|:---------------:|:----------------------:|
| {ref}`Borehole <test-functions:borehole>` | 8 | `Borehole()` |
| {ref}`Bratley et al. (1992) A <test-functions:bratley1992a>` | M | `Bratley1992a()` |
| {ref}`Bratley et al. (1992) B <test-functions:bratley1992b>` | M | `Bratley1992b()` |
| {ref}`Bratley et al. (1992) C <test-functions:bratley1992c>` | M | `Bratley1992c()` |
| {ref}`Bratley et al. (1992) D <test-functions:bratley1992d>` | M | `Bratley1992d()` |
| {ref}`Damped Oscillator <test-functions:damped-oscillator>` | 7 | `DampedOscillator()` |
| {ref}`Flood <test-functions:flood>` | 8 | `Flood()` |
| {ref}`Friedman (6D) <test-functions:friedman-6d>` | 6 | `Friedman6D()` |
| {ref}`Genz (Corner Peak) <test-functions:genz-corner-peak>` | M | `GenzCornerPeak()` |
| {ref}`Genz (Discontinuous) <test-functions:genz-discontinuous>` | M | `GenzDiscontinuous()` |
| {ref}`Ishigami <test-functions:ishigami>` | 3 | `Ishigami()` |
| {ref}`Linkletter et al. (2006) Linear <test-functions:linkletter-linear>` | 10 | `LinkletterLinear()` |
| {ref}`Moon (2010) 3D <test-functions:moon3d>` | 3 | `Moon3D()` |
| {ref}`Morris et al. (2006) <test-functions:morris2006>` | M | `Morris2006()` |
| {ref}`OTL Circuit <test-functions:otl-circuit>` | 6 / 20 | `OTLCircuit()` |
| {ref}`Piston Simulation <test-functions:piston>` | 7 / 20 | `Piston()` |
| {ref}`Simple Portfolio Model <test-functions:portfolio-3d>` | 3 | `Portfolio3D()` |
| {ref}`SaltelliLinear <test-functions:saltelli-linear>` | M | `SaltelliLinear()` |
| {ref}`Sobol'-G <test-functions:sobol-g>` | M | `SobolG()` |
| {ref}`Sobol'-G* <test-functions:sobol-g-star>` | M | `SobolGStar()` |
| {ref}`Sobol'-Levitan <test-functions:sobol-levitan>` | M | `SobolLevitan()` |
| {ref}`Solar Cell Model <test-functions:solar-cell>` | 5 | `SolarCell()` |
| {ref}`Sulfur <test-functions:sulfur>` | 9 | `Sulfur()` |
| {ref}`Welch et al. (1992) <test-functions:welch1992>` | 20 | `Welch1992()` |
| {ref}`Wing Weight <test-functions:wing-weight>` | 10 | `WingWeight()` |

In a Python terminal, you can list all the available functions relevant
for metamodeling applications using ``list_functions()``
Expand Down
11 changes: 11 additions & 0 deletions docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1043,4 +1043,15 @@ @Article{Dette2010
doi = {10.1198/tech.2010.09157},
}

@Article{Linkletter2006,
author = {Linkletter, Crystal and Bingham, Derek and Hengartner, Nicholas and Higdon, David and Ye, Kenny Q.},
journal = {Technometrics},
title = {Variable selection for {Gaussian} process models in computer experiments},
year = {2006},
number = {4},
pages = {478--490},
volume = {48},
doi = {10.1198/004017006000000228},
}

@Comment{jabref-meta: databaseType:bibtex;}
1 change: 1 addition & 0 deletions docs/test-functions/available.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ regardless of their typical applications.
| {ref}`Ishigami <test-functions:ishigami>` | 3 | `Ishigami()` |
| {ref}`Lim et al. (2002) Non-Polynomial <test-functions:lim-non-poly>` | 2 | `LimNonPoly()` |
| {ref}`Lim et al. (2002) Polynomial <test-functions:lim-poly>` | 2 | `LimPoly()` |
| {ref}`Linkletter et al. (2006) Linear <test-functions:linkletter-linear>` | 10 | `LinkletterLinear()` |
| {ref}`McLain S1 <test-functions:mclain-s1>` | 2 | `McLainS1()` |
| {ref}`McLain S2 <test-functions:mclain-s2>` | 2 | `McLainS2()` |
| {ref}`McLain S3 <test-functions:mclain-s3>` | 2 | `McLainS3()` |
Expand Down
Loading

0 comments on commit 99e70aa

Please sign in to comment.