# SequentialStrategy¶

class `SequentialStrategy`(*args)

Sequential truncation strategy.

Available constructors:

SequentialStrategy(orthogonalBasis, maximumDimension)

Parameters
orthogonalBasis`OrthogonalBasis`

An OrthogonalBasis.

maximumDimensionpositive int

Maximum 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
```

Methods

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

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

`computeInitialBasis`(self)

Compute initial basis for the approximation.

`getBasis`(self)

Accessor to the underlying orthogonal basis.

Returns
basis`OrthogonalBasis`

Orthogonal basis of which the adaptive strategy is based.

`getClassName`(self)

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

`getId`(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

`getMaximumDimension`(self)

Accessor to the maximum dimension of the orthogonal basis.

Returns
Pinteger

Maximum dimension of the truncated basis.

`getName`(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

`getPsi`(self)

Accessor to the orthogonal polynomials of the basis.

Returns
polynomialslist of polynomials

Sequence 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`(self)

Accessor to the object’s shadowed id.

Returns
idint

Internal unique identifier.

`getVisibility`(self)

Accessor to the object’s visibility state.

Returns
visiblebool

Visibility flag.

`hasName`(self)

Test if the object is named.

Returns
hasNamebool

True if the name is not empty.

`hasVisibleName`(self)

Test if the object has a distinguishable name.

Returns
hasVisibleNamebool

True if the name is not empty and not the default one.

`setMaximumDimension`(self, maximumDimension)

Accessor to the maximum dimension of the orthogonal basis.

Parameters
Pinteger

Maximum dimension of the truncated basis.

`setName`(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

`setShadowedId`(self, id)

Accessor to the object’s shadowed id.

Parameters
idint

Internal unique identifier.

`setVisibility`(self, visible)

Accessor to the object’s visibility state.

Parameters
visiblebool

Visibility flag.

`updateBasis`(self, 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.