# SequentialStrategy¶

class `SequentialStrategy`(*args)

Sequential truncation strategy.

Available constructors:
SequentialStrategy(orthogonalBasis, maximumDimension)
Parameters: orthogonalBasis`OrthogonalBasis`An OrthogonalBasis. maximumDimensionpositive intMaximum number of terms of the basis.

Notes

The sequential strategy consists in constructing the basis of the truncated PC iteratively. Precisely, one begins with the first term , that is , and one complements the current basis as follows: . The construction process is stopped when a given accuracy criterion, defined in the `ProjectionStrategy`, is reached, or when is equal to a prescribed maximum basis size .

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
```
Attributes: `thisown`The membership flag

Methods

 `computeInitialBasis`() Compute initial basis for the approximation. `getBasis`() Accessor to the underlying orthogonal basis. `getClassName`() Accessor to the object’s name. `getId`() Accessor to the object’s id. `getMaximumDimension`() Accessor to the maximum dimension of the orthogonal basis. `getName`() Accessor to the object’s name. `getPsi`() Accessor to the orthogonal polynomials of the basis. `getShadowedId`() Accessor to the object’s shadowed id. `getVisibility`() Accessor to the object’s visibility state. `hasName`() Test if the object is named. `hasVisibleName`() Test if the object has a distinguishable name. `setMaximumDimension`(maximumDimension) Accessor to the maximum dimension of the orthogonal basis. `setName`(name) Accessor to the object’s name. `setShadowedId`(id) Accessor to the object’s shadowed id. `setVisibility`(visible) Accessor to the object’s visibility state. `updateBasis`(alpha_k, residual, relativeError) Update the basis for the next iteration of approximation.
`__init__`(*args)

Initialize self. See help(type(self)) for accurate signature.

`computeInitialBasis`()

Compute initial basis for the approximation.

`getBasis`()

Accessor to the underlying orthogonal basis.

Returns: basis`OrthogonalBasis`Orthogonal basis of which the adaptive strategy is based.
`getClassName`()

Accessor to the object’s name.

Returns: class_namestrThe object class name (object.__class__.__name__).
`getId`()

Accessor to the object’s id.

Returns: idintInternal unique identifier.
`getMaximumDimension`()

Accessor to the maximum dimension of the orthogonal basis.

Returns: PintegerMaximum dimension of the truncated basis.
`getName`()

Accessor to the object’s name.

Returns: namestrThe name of the object.
`getPsi`()

Accessor to the orthogonal polynomials of the basis.

Returns: polynomialslist of polynomialsSequence of analytical polynomials.

Notes

The method `computeInitialBasis()` must be applied first.

Examples

```>>> import openturns as ot
>>> productBasis = ot.OrthogonalProductPolynomialFactory([ot.HermiteFactory()])
[1,x0,-0.707107 + 0.707107 * x0^2]
```
`getShadowedId`()

Accessor to the object’s shadowed id.

Returns: idintInternal unique identifier.
`getVisibility`()

Accessor to the object’s visibility state.

Returns: visibleboolVisibility flag.
`hasName`()

Test if the object is named.

Returns: hasNameboolTrue if the name is not empty.
`hasVisibleName`()

Test if the object has a distinguishable name.

Returns: hasVisibleNameboolTrue if the name is not empty and not the default one.
`setMaximumDimension`(maximumDimension)

Accessor to the maximum dimension of the orthogonal basis.

Parameters: PintegerMaximum dimension of the truncated basis.
`setName`(name)

Accessor to the object’s name.

Parameters: namestrThe name of the object.
`setShadowedId`(id)

Accessor to the object’s shadowed id.

Parameters: idintInternal unique identifier.
`setVisibility`(visible)

Accessor to the object’s visibility state.

Parameters: visibleboolVisibility flag.
`thisown`

The membership flag

`updateBasis`(alpha_k, residual, relativeError)

Update the basis for the next iteration of approximation.

Notes

No changes are made to the basis in the fixed strategy.