TensorizedUniVariateFunctionFactory¶
- class TensorizedUniVariateFunctionFactory(*args)¶
Base class for tensorized multivariate functions.
- Parameters:
- functionslist of
UniVariateFunctionFamily
List of univariate function factories.
- enumerateFunction
EnumerateFunction
, optional Associates to an integer its multi-index image in the dimension, which is the dimension of the basis. This multi-index represents the collection of degrees of the univariate polynomials.
- functionslist of
Methods
add
(elt)Add a function.
build
(index)Build the element of the given index.
Accessor to the object's name.
Get the input dimension of the Basis.
getName
()Accessor to the object's name.
Get the output dimension of the Basis.
getSize
()Get the size of the Basis.
getSubBasis
(indices)Get a sub-basis of the Basis.
hasName
()Test if the object is named.
isFinite
()Tell whether the basis is finite.
Tell whether the basis is orthogonal.
Tell whether the basis is a tensor product
setName
(name)Accessor to the object's name.
getEnumerateFunction
getFunctionFamilyCollection
setEnumerateFunction
setFunctionFamilyCollection
Notes
TensorizedUniVariateFunctionFactory allows one to create multidimensional functions as the tensor product of univariate functions created by their respective factories (i.e.
UniVariateFunctionFamily
):where is the univariate basis of degree associated to the component and is the ith component of the multi-index
Let’s note that the exact hessian and gradient have been implemented for the product of polynomials.
Examples
>>> import openturns as ot >>> funcColl = [ot.HaarWaveletFactory(), ot.FourierSeriesFactory(), ot.MonomialFunctionFactory()] >>> dim = len(funcColl) >>> enumerateFunction = ot.LinearEnumerateFunction(dim) >>> productBasis = ot.TensorizedUniVariateFunctionFactory(funcColl, enumerateFunction)
- __init__(*args)¶
- build(index)¶
Build the element of the given index.
- Parameters:
- indexint,
Index of an element of the Basis.
- Returns:
- function
Function
The function at the index index of the Basis.
- function
Examples
>>> import openturns as ot >>> dimension = 3 >>> input = ['x0', 'x1', 'x2'] >>> functions = [] >>> for i in range(dimension): ... functions.append(ot.SymbolicFunction(input, [input[i]])) >>> basis = ot.Basis(functions) >>> print(basis.build(0).getEvaluation()) [x0,x1,x2]->[x0]
- getClassName()¶
Accessor to the object’s name.
- Returns:
- class_namestr
The object class name (object.__class__.__name__).
- getInputDimension()¶
Get the input dimension of the Basis.
- Returns:
- inDimint
Input dimension of the functions.
- getName()¶
Accessor to the object’s name.
- Returns:
- namestr
The name of the object.
- getOutputDimension()¶
Get the output dimension of the Basis.
- Returns:
- outDimint
Output dimension of the functions.
- getSize()¶
Get the size of the Basis.
- Returns:
- sizeint
Size of the Basis.
- getSubBasis(indices)¶
Get a sub-basis of the Basis.
- Parameters:
- indiceslist of int
Indices of the terms of the Basis put in the sub-basis.
- Returns:
- subBasislist of
Function
Functions defining a sub-basis.
- subBasislist of
Examples
>>> import openturns as ot >>> dimension = 3 >>> input = ['x0', 'x1', 'x2'] >>> functions = [] >>> for i in range(dimension): ... functions.append(ot.SymbolicFunction(input, [input[i]])) >>> basis = ot.Basis(functions) >>> subbasis = basis.getSubBasis([1]) >>> print(subbasis[0].getEvaluation()) [x0,x1,x2]->[x1]
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- isFinite()¶
Tell whether the basis is finite.
- Returns:
- isFinitebool
True if the basis is finite.
- isOrthogonal()¶
Tell whether the basis is orthogonal.
- Returns:
- isOrthogonalbool
True if the basis is orthogonal.
- isTensorProduct()¶
Tell whether the basis is a tensor product
- Returns:
- isTensorProductbool
True if the basis is a tensor product.
- setName(name)¶
Accessor to the object’s name.
- Parameters:
- namestr
The name of the object.