%feature("docstring") OT::SequentialStrategy
"Sequential truncation strategy.

Available constructors:
    SequentialStrategy(*orthogonalBasis, maximumDimension*)

Parameters
----------
orthogonalBasis : :class:`~openturns.OrthogonalBasis`
    An OrthogonalBasis.
maximumDimension : positive int
    Maximum number of terms of the basis.

See also
--------
AdaptiveStrategy, SequentialStrategy, CleaningStrategy

Notes
-----
The sequential strategy consists in constructing the basis of the truncated PC
iteratively. Precisely, one begins with the first term :math:`\Psi_0`, that is
:math:`K_0 = \{0\}`, and one complements the current basis as follows:
:math:`K_{k+1} = K_k \cup \{\Psi_{k+1}\}`. The construction process is
stopped when a given accuracy criterion, defined in the
:class:`~openturns.ProjectionStrategy`, is reached, or when :math:`k` is equal to
a prescribed maximum basis size :math:`P`.

Examples
--------
>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> # Define the model
>>> inputDim = 1
>>> model = ot.SymbolicFunction(['x'], ['x*sin(x)'])
>>> # Create the input distribution
>>> distribution = ot.ComposedDistribution([ot.Uniform()]*inputDim)
>>> # Construction of the multivariate orthonormal basis
>>> polyColl = [0.0]*inputDim
>>> for i in range(distribution.getDimension()):
...     polyColl[i] = ot.StandardDistributionPolynomialFactory(distribution.getMarginal(i))
>>> enumerateFunction = ot.LinearEnumerateFunction(inputDim)
>>> productBasis = ot.OrthogonalProductPolynomialFactory(polyColl, enumerateFunction)
>>> # Truncature strategy of the multivariate orthonormal basis
>>> # We want to select among the maximumDimension = 20 first polynomials of the
>>> # multivariate basis those verifying the convergence criterion.
>>> maximumDimension = 20
>>> adaptiveStrategy = ot.SequentialStrategy(productBasis, maximumDimension)"
