Skip to content

Instantly share code, notes, and snippets.

@mbaudin47
Created June 30, 2025 10:00
Show Gist options
  • Select an option

  • Save mbaudin47/7dbed50bab30a42fbd8ba30423eac2ab to your computer and use it in GitHub Desktop.

Select an option

Save mbaudin47/7dbed50bab30a42fbd8ba30423eac2ab to your computer and use it in GitHub Desktop.
pce_ishigami
"""
Smallest possible script to create a FunctionalChaosResult.
Uses the Ishigami function.
"""
# %%
from openturns.usecases import ishigami_function
import openturns as ot
# %%
im = ishigami_function.IshigamiModel()
sampleSize = 100
inputTrain = im.inputDistribution.getSample(sampleSize)
outputTrain = im.model(inputTrain)
multivariateBasis = ot.OrthogonalProductPolynomialFactory([im.X1, im.X2, im.X3])
selectionAlgorithm = ot.LeastSquaresMetaModelSelectionFactory()
projectionStrategy = ot.LeastSquaresStrategy(selectionAlgorithm)
totalDegree = 8
enumerateFunction = multivariateBasis.getEnumerateFunction()
basisSize = enumerateFunction.getBasisSizeFromTotalDegree(totalDegree)
adaptiveStrategy = ot.FixedStrategy(multivariateBasis, basisSize)
chaosAlgo = ot.FunctionalChaosAlgorithm(
inputTrain, outputTrain, im.inputDistribution, adaptiveStrategy, projectionStrategy
)
chaosAlgo.run()
chaosResult = chaosAlgo.getResult()
chaosResult
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment