ValueFunction

class ValueFunction(*args)

Function mapping a field to a field.

Parameters:
gFunction

Function g: \Rset^d \rightarrow \Rset^{d'}.

meshMesh

The mesh of the domain \cD.

Notes

Value functions act on fields to produce fields such that:

f: \left| \begin{array}{rcl}
           \cM_N \times (\Rset^d)^N & \rightarrow & \cM_N \times (\Rset^{d'})^{N} \\
            F & \mapsto & F'
          \end{array} \right.

with F = (\vect{t}_i, \vect{v}_i)_{1 \leq i \leq N}, F' = (\vect{t}_i, \vect{v}'_i)_{1 \leq i \leq N} and \cM_{N} a mesh of \cD \subset \Rset^{n}.

A value function keeps the mesh unchanged: the input mesh is equal to the output mesh.

The field F' is defined by the function g: \Rset^d \rightarrow \Rset^{d'}:

\forall \vect{t}_i \in \cM_N, \quad \vect{v}'_i = g(\vect{v}_i)

The first constructor builds an object which evaluation operator is not defined (it throws a NotYetImplementedException). The instantiation of such an object is used to extract an actual ValueFunction from a Study.

Examples

>>> import openturns as ot

Create the function g : \Rset \rightarrow \Rset defined by:

g: \left|\begin{array}{rcl}
            \Rset & \rightarrow & \Rset \\
            x & \mapsto & x^2
        \end{array}\right.

>>> g = ot.SymbolicFunction('x', 'x^2')

Convert g into a value function with n=1 the dimension of the mesh of the field on which g will be applied:

>>> n = 1
>>> tg = ot.RegularGrid(0.0, 0.2, 6)
>>> myValueFunction = ot.ValueFunction(g, tg)
>>> # Create a TimeSeries
>>> data = ot.Sample(tg.getN(), g.getInputDimension())
>>> for i in range(data.getSize()):
...     for j in range(data.getDimension()):
...         data[i, j] = i * data.getDimension() + j
>>> ts = ot.TimeSeries(tg, data)
>>> print(ts)
    [ t   v0  ]
0 : [ 0   0   ]
1 : [ 0.2 1   ]
2 : [ 0.4 2   ]
3 : [ 0.6 3   ]
4 : [ 0.8 4   ]
5 : [ 1   5   ]
>>> print(myValueFunction(ts))
    [ y0 ]
0 : [  0 ]
1 : [  1 ]
2 : [  4 ]
3 : [  9 ]
4 : [ 16 ]
5 : [ 25 ]

Methods

getCallsNumber()

Get the number of calls of the function.

getClassName()

Accessor to the object's name.

getFunction()

Get the function g.

getInputDescription()

Get the description of the input field values.

getInputDimension()

Get the dimension of the input field values.

getInputMesh()

Get the mesh associated to the input domain.

getMarginal(*args)

Get the marginal(s) at given indice(s).

getName()

Accessor to the object's name.

getOutputDescription()

Get the description of the output field values.

getOutputDimension()

Get the dimension of the output field values.

getOutputMesh()

Get the mesh associated to the output domain.

hasName()

Test if the object is named.

isActingPointwise()

Whether the function acts point-wise.

setInputDescription(inputDescription)

Set the description of the input field values.

setInputMesh(inputMesh)

Set the mesh associated to the input domain.

setName(name)

Accessor to the object's name.

setOutputDescription(outputDescription)

Set the description of the output field values.

setOutputMesh(outputMesh)

Set the mesh associated to the output domain.

__init__(*args)
getCallsNumber()

Get the number of calls of the function.

Returns:
callsNumberint

Counts the number of times the function has been called since its creation.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getFunction()

Get the function g.

Returns:
gFunction

Function g: \Rset^d \rightarrow \Rset^{d'}.

Examples

>>> import openturns as ot
>>> g = ot.SymbolicFunction('x', 'x^2')
>>> n = 1
>>> mesh = ot.Mesh(n)
>>> myValueFunction = ot.ValueFunction(g, mesh)
>>> print(myValueFunction.getFunction())
[x]->[x^2]
getInputDescription()

Get the description of the input field values.

Returns:
inputDescriptionDescription

Description of the input field values.

getInputDimension()

Get the dimension of the input field values.

Returns:
dint

Dimension d of the input field values.

getInputMesh()

Get the mesh associated to the input domain.

Returns:
inputMeshMesh

The input mesh \cM_{N'}.

getMarginal(*args)

Get the marginal(s) at given indice(s).

Parameters:
iint or list of ints, 0 \leq i < d'

Indice(s) of the marginal(s) to be extracted.

Returns:
functionValueFunction

The initial function restricted to the concerned marginal(s) at the indice(s) i.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getOutputDescription()

Get the description of the output field values.

Returns:
outputDescriptionDescription

Description of the output field values.

getOutputDimension()

Get the dimension of the output field values.

Returns:
d’int

Dimension d' of the output field values.

getOutputMesh()

Get the mesh associated to the output domain.

Returns:
outputMeshMesh

The output mesh \cM_{N'}.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

isActingPointwise()

Whether the function acts point-wise.

Returns:
pointWisebool

Returns true if the function evaluation at each vertex depends only on the vertex or the value at the vertex.

setInputDescription(inputDescription)

Set the description of the input field values.

Parameters:
inputDescriptionsequence of str

Description of the input field values.

setInputMesh(inputMesh)

Set the mesh associated to the input domain.

Parameters:
inputMeshMesh

The input mesh \cM_{N'}.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setOutputDescription(outputDescription)

Set the description of the output field values.

Parameters:
outputDescriptionsequence of str

Describes the outputs of the output field values.

setOutputMesh(outputMesh)

Set the mesh associated to the output domain.

Parameters:
outputMeshMesh

The output mesh \cM_{N'}.

Examples using the class

Use the Box-Cox transformation

Use the Box-Cox transformation

Create a process from random vectors and processes

Create a process from random vectors and processes

Value function

Value function