CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::sobol::SobolResults Struct Reference

Struct to hold calculated Sobol sensitivity indices. More...

#include <sobol.h>

Public Member Functions

double getFirstOrder (size_t i) const
 Gets the first-order Sobol index for input parameter \( i \).
 
double getTotalOrder (size_t i) const
 Gets the total-order Sobol index for input parameter \( i \).
 
double getSecondOrder (size_t i, size_t j) const
 Gets the second-order Sobol index for interaction between parameters \( i \) and \( j \).
 

Public Attributes

Eigen::VectorXd firstOrder
 Vector storing the first-order (main effect) Sobol indices.
 
Eigen::VectorXd totalOrder
 Vector storing the total-order Sobol indices.
 
Eigen::VectorXd secondOrder
 Vector storing the second-order (interaction effect) Sobol indices (if computed).
 

Detailed Description

Struct to hold calculated Sobol sensitivity indices.

  • Stores the resultant vectors for main effects, total effects, and optional interaction effects calculated from a variance-based sensitivity analysis.

Member Function Documentation

◆ getFirstOrder()

double cmp::sobol::SobolResults::getFirstOrder ( size_t  i) const
inline

Gets the first-order Sobol index for input parameter \( i \).

Parameters
iIndex of the input parameter.
Returns
First-order Sobol index value \( S_i \).
Exceptions
std::out_of_rangeIf the requested index is out of bounds.

◆ getSecondOrder()

double cmp::sobol::SobolResults::getSecondOrder ( size_t  i,
size_t  j 
) const
inline

Gets the second-order Sobol index for interaction between parameters \( i \) and \( j \).

  • Computes the 1D flat index for the upper triangular portion (excluding diagonal) mapping \((i, j)\).
  • Parameters
    iIndex of the first parameter.
    jIndex of the second parameter.
    Returns
    Second-order Sobol index value \( S_{ij} \).
    Exceptions
    std::logic_errorIf second-order indices were not computed.
    std::out_of_rangeIf indices exceed parameter bounds.
    std::invalid_argumentIf \( i = j \).

◆ getTotalOrder()

double cmp::sobol::SobolResults::getTotalOrder ( size_t  i) const
inline

Gets the total-order Sobol index for input parameter \( i \).

Parameters
iIndex of the input parameter.
Returns
Total-order Sobol index value \( S_{Ti} \).
Exceptions
std::out_of_rangeIf the requested index is out of bounds.

Member Data Documentation

◆ firstOrder

Eigen::VectorXd cmp::sobol::SobolResults::firstOrder

Vector storing the first-order (main effect) Sobol indices.

◆ secondOrder

Eigen::VectorXd cmp::sobol::SobolResults::secondOrder

Vector storing the second-order (interaction effect) Sobol indices (if computed).

◆ totalOrder

Eigen::VectorXd cmp::sobol::SobolResults::totalOrder

Vector storing the total-order Sobol indices.


The documentation for this struct was generated from the following file: