MemoizeEvaluation¶
- class MemoizeEvaluation(*args)¶
Evaluation which keeps tracks of input and output.
Usually we use
MemoizeFunction
(aa function provides both the evaluation, the gradient and the hessian). that relies on aFunction
passed as argument, and store input and outputSample
. It also has a caching behavior, enabled by default.- Parameters:
- function
Evaluation
Delegate evaluation
- historyStrategy
HistoryStrategy
(optional) Strategy used to store points, default is
Full
.
- function
See also
Examples
>>> import openturns as ot >>> f = ot.SymbolicEvaluation(['x'], ['y'], ['x^2']) >>> inputSample = ot.Sample([[1], [2], [3], [4]]) >>> f = ot.MemoizeEvaluation(f) >>> outputSample = f(inputSample)
Retrieve input sample:
>>> print(f.getInputHistory()) 0 : [ 1 ] 1 : [ 2 ] 2 : [ 3 ] 3 : [ 4 ]
Retrieve output sample:
>>> print(f.getOutputHistory()) 0 : [ 1 ] 1 : [ 4 ] 2 : [ 9 ] 3 : [ 16 ]
Methods
__call__
(*args)Call self as a function.
addCacheContent
(inSample, outSample)Add input and output points to the cache.
Empty the content of the cache.
Clear input and output history.
Disable the cache.
Disable the history.
draw
(*args)Draw the output of function as a
Graph
.Enable the cache.
Enable the history.
Accessor to the number of computations saved thanks to the cache.
Accessor to the input points stored in the cache.
Accessor to the output points stored in the cache.
Accessor to the number of times the function has been called.
Accessor to the output verification flag.
Accessor to the object's name.
Accessor to the description of the inputs and outputs.
getId
()Accessor to the object's id.
Accessor to the description of the inputs.
Accessor to the number of the inputs.
Get the input sample history.
getMarginal
(*args)Accessor to marginal.
getName
()Accessor to the object's name.
Accessor to the description of the outputs.
Accessor to the number of the outputs.
Get the output sample history.
Accessor to the parameter values.
Accessor to the parameter description.
Accessor to the dimension of the parameter.
Accessor to the object's shadowed id.
Accessor to the object's visibility state.
hasName
()Test if the object is named.
Test if the object has a distinguishable name.
Accessor to the validity flag.
Test whether the cache is enabled or not.
Test whether the history is enabled or not.
isLinear
()Accessor to the linearity of the evaluation.
isLinearlyDependent
(index)Accessor to the linearity of the evaluation with regard to a specific variable.
parameterGradient
(inP)Gradient against the parameters.
setCheckOutput
(checkOutput)Accessor to the output verification flag.
setDescription
(description)Accessor to the description of the inputs and outputs.
setEvaluation
(evaluation)Set the evaluation.
setInputDescription
(inputDescription)Accessor to the description of the inputs.
setName
(name)Accessor to the object's name.
setOutputDescription
(outputDescription)Accessor to the description of the outputs.
setParameter
(parameters)Accessor to the parameter values.
setParameterDescription
(description)Accessor to the parameter description.
setShadowedId
(id)Accessor to the object's shadowed id.
setVisibility
(visible)Accessor to the object's visibility state.
getEvaluation
- __init__(*args)¶
- addCacheContent(inSample, outSample)¶
Add input and output points to the cache.
- Parameters:
- input_sample2-d sequence of float
Input points to be added to the cache.
- output_sample2-d sequence of float
Output points associated with the input_sample to be added to the cache.
- clearCache()¶
Empty the content of the cache.
- clearHistory()¶
Clear input and output history.
- disableCache()¶
Disable the cache.
- disableHistory()¶
Disable the history.
- draw(*args)¶
Draw the output of function as a
Graph
.- Available usages:
draw(inputMarg, outputMarg, CP, xiMin, xiMax, ptNb)
draw(firstInputMarg, secondInputMarg, outputMarg, CP, xiMin_xjMin, xiMax_xjMax, ptNbs)
draw(xiMin, xiMax, ptNb)
draw(xiMin_xjMin, xiMax_xjMax, ptNbs)
- Parameters:
- outputMarg, inputMargint,
outputMarg is the index of the marginal to draw as a function of the marginal with index inputMarg.
- firstInputMarg, secondInputMargint,
In the 2D case, the marginal outputMarg is drawn as a function of the two marginals with indexes firstInputMarg and secondInputMarg.
- CPsequence of float
Central point.
- xiMin, xiMaxfloat
Define the interval where the curve is plotted.
- xiMin_xjMin, xiMax_xjMaxsequence of float of dimension 2.
In the 2D case, define the intervals where the curves are plotted.
- ptNbint or list of ints of dimension 2
The number of points to draw the curves.
Notes
We note where and , with and .
In the first usage:
Draws graph of the given 1D outputMarg marginal as a function of the given 1D inputMarg marginal with respect to the variation of in the interval , when all the other components of are fixed to the corresponding ones of the central point CP. Then it draws the graph: .
In the second usage:
Draws the iso-curves of the given outputMarg marginal as a function of the given 2D firstInputMarg and secondInputMarg marginals with respect to the variation of in the interval , when all the other components of are fixed to the corresponding ones of the central point CP. Then it draws the graph: .
In the third usage:
The same as the first usage but only for function .
In the fourth usage:
The same as the second usage but only for function .
Examples
>>> import openturns as ot >>> from openturns.viewer import View >>> f = ot.SymbolicFunction(['x'], ['sin(2*pi_*x)*exp(-x^2/2)']) >>> graph = f.draw(-1.2, 1.2, 100) >>> View(graph).show()
- enableCache()¶
Enable the cache.
- enableHistory()¶
Enable the history.
- getCacheHits()¶
Accessor to the number of computations saved thanks to the cache.
- Returns:
- cacheHitsint
Integer that counts the number of computations saved thanks to the cache.
- getCacheInput()¶
Accessor to the input points stored in the cache.
- Returns:
- cacheInput
Sample
The input points stored in the cache.
- cacheInput
- getCacheOutput()¶
Accessor to the output points stored in the cache.
- Returns:
- cacheInput
Sample
The output points stored in the cache.
- cacheInput
- getCallsNumber()¶
Accessor to the number of times the function has been called.
- Returns:
- calls_numberint
Integer that counts the number of times the function has been called since its creation.
- getCheckOutput()¶
Accessor to the output verification flag.
- Returns:
- check_outputbool
Whether to check return values for nan or inf.
- getClassName()¶
Accessor to the object’s name.
- Returns:
- class_namestr
The object class name (object.__class__.__name__).
- getDescription()¶
Accessor to the description of the inputs and outputs.
- Returns:
- description
Description
Description of the inputs and the outputs.
- description
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getDescription()) [x1,x2,y0]
- getId()¶
Accessor to the object’s id.
- Returns:
- idint
Internal unique identifier.
- getInputDescription()¶
Accessor to the description of the inputs.
- Returns:
- description
Description
Description of the inputs.
- description
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getInputDescription()) [x1,x2]
- getInputDimension()¶
Accessor to the number of the inputs.
- Returns:
- number_inputsint
Number of inputs.
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getInputDimension()) 2
- getInputHistory()¶
Get the input sample history.
- Returns:
- inputSample
Sample
Input points which have been evaluated.
- inputSample
- getMarginal(*args)¶
Accessor to marginal.
- Parameters:
- indicesint or list of ints
Set of indices for which the marginal is extracted.
- Returns:
- marginal
Function
Function corresponding to either or , with and .
- marginal
- getName()¶
Accessor to the object’s name.
- Returns:
- namestr
The name of the object.
- getOutputDescription()¶
Accessor to the description of the outputs.
- Returns:
- description
Description
Description of the outputs.
- description
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getOutputDescription()) [y0]
- getOutputDimension()¶
Accessor to the number of the outputs.
- Returns:
- number_outputsint
Number of outputs.
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getOutputDimension()) 1
- getOutputHistory()¶
Get the output sample history.
- Returns:
- outputSample
Sample
Output points which have been evaluated.
- outputSample
- getParameterDescription()¶
Accessor to the parameter description.
- Returns:
- parameter
Description
The parameter description.
- parameter
- getParameterDimension()¶
Accessor to the dimension of the parameter.
- Returns:
- parameter_dimensionint
Dimension of the parameter.
- getShadowedId()¶
Accessor to the object’s shadowed id.
- Returns:
- idint
Internal unique identifier.
- getVisibility()¶
Accessor to the object’s visibility state.
- Returns:
- visiblebool
Visibility flag.
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- hasVisibleName()¶
Test if the object has a distinguishable name.
- Returns:
- hasVisibleNamebool
True if the name is not empty and not the default one.
- isActualImplementation()¶
Accessor to the validity flag.
- Returns:
- is_implbool
Whether the implementation is valid.
- isCacheEnabled()¶
Test whether the cache is enabled or not.
- Returns:
- isCacheEnabledbool
Flag telling whether the cache is enabled. It is enabled by default.
- isHistoryEnabled()¶
Test whether the history is enabled or not.
- Returns:
- isHistoryEnabledbool
Flag telling whether the history is enabled.
- isLinear()¶
Accessor to the linearity of the evaluation.
- Returns:
- linearbool
True if the evaluation is linear, False otherwise.
- isLinearlyDependent(index)¶
Accessor to the linearity of the evaluation with regard to a specific variable.
- Parameters:
- indexint
The index of the variable with regard to which linearity is evaluated.
- Returns:
- linearbool
True if the evaluation is linearly dependent on the specified variable, False otherwise.
- parameterGradient(inP)¶
Gradient against the parameters.
- Parameters:
- xsequence of float
Input point
- Returns:
- parameter_gradient
Matrix
The parameters gradient computed at x.
- parameter_gradient
- setCheckOutput(checkOutput)¶
Accessor to the output verification flag.
- Parameters:
- check_outputbool
Whether to check return values for nan or inf.
- setDescription(description)¶
Accessor to the description of the inputs and outputs.
- Parameters:
- descriptionsequence of str
Description of the inputs and the outputs.
Examples
>>> import openturns as ot >>> f = ot.SymbolicFunction(['x1', 'x2'], ... ['2 * x1^2 + x1 + 8 * x2 + 4 * cos(x1) * x2 + 6']) >>> print(f.getDescription()) [x1,x2,y0] >>> f.setDescription(['a','b','y']) >>> print(f.getDescription()) [a,b,y]
- setEvaluation(evaluation)¶
Set the evaluation.
- Parameters:
- evaluation
Evaluation
Evaluation.
- evaluation
Notes
This sets a new evaluation of interest. Cache and history are cleaned and the class will stores new one accounting for the given evaluation and store input and output
Sample
. It also has a caching behavior, enabled by default.
- setInputDescription(inputDescription)¶
Accessor to the description of the inputs.
- Returns:
- description
Description
Description of the inputs.
- description
- setName(name)¶
Accessor to the object’s name.
- Parameters:
- namestr
The name of the object.
- setOutputDescription(outputDescription)¶
Accessor to the description of the outputs.
- Returns:
- description
Description
Description of the outputs.
- description
- setParameter(parameters)¶
Accessor to the parameter values.
- Parameters:
- parametersequence of float
The parameter values.
- setParameterDescription(description)¶
Accessor to the parameter description.
- Parameters:
- parameter
Description
The parameter description.
- parameter
- setShadowedId(id)¶
Accessor to the object’s shadowed id.
- Parameters:
- idint
Internal unique identifier.
- setVisibility(visible)¶
Accessor to the object’s visibility state.
- Parameters:
- visiblebool
Visibility flag.