# analyticsPolyLeg: Calculate Legendre Polynomials on a Simulated Dataset In polychaosbasics: Sensitivity Indexes Calculated from Polynomial Chaos Expansions

## Description

This function calculates Legendre polynomials on a simulated LHS.

The dataset is generated by using the function `randomLHS` (from package `lhs`). The output is then calculated by using the `Ishigami` [Saltelli, 2000, Chap. 2] or `Sobol` function [Sobol', 2003]. Finally, Legendre polynomials are computed after calibration within the bounds [-1, +1].

## Usage

 `1` ```analyticsPolyLeg(nlhs, degree, model.fun) ```

## Arguments

 `nlhs` integer equal to the number of rows of the dataset. `degree` integer equal to the degree of the polynomial. Should be greater than 1. `model.fun` string equal to the required model. Valid values are `'ishigami'` and `'sobol'`.

## Details

• The Ishigami function has three inputs that are linked to the output `Y` according to:

Y=sin(X1)+7*(sin(X2))^2+0.1*(X3)^4*sin(X1)

Each Xj is a uniform random variable on the interval [-pi, +pi].

• The Sobol function has height inputs. The four first ones only are generated by using the function `randomLHS`. The four last are set to 0.5 (see Gauchi, 2017). The output `Y` is then the product of :

(4*Xj - 2 + Aj) / (1+Aj)

for j in 1 to 8, and A=(1,2,5,10,20,50,100,500)

## Value

An objet of class `PCEpoly`.

## Note

The returned values are dependent on the random seed.

## References

• Ishigami, T. and Homma, T. 1990. An importance quantification technique in uncertainty analysis for computer models. In Proceedings of the First International Symposium on Uncertainty Modeling and Analysis. IEEE, 398-403.

• Sobol', I.M., 2003. Theorems and examples on high dimensional model representation. In Reliability Engineering \& System Safety 79, 187-193.

• Function `polyLeg` calculates Legendre polynomials on a user dataset.
• Function `PCESI` calculates PCE sensivity indexes from the returned object.
 ```1 2 3 4 5``` ```nlhs <- 200 # number of rows in the dataset degree <- 6 # polynomial degree set.seed(42) # fix the seed for reproductible results pce <- analyticsPolyLeg(nlhs, degree, 'ishigami') print(pce) ```