# Functions¶

## General mathematical functions¶

 Function(*args) Function base class. Function base class. SymbolicFunction(*args) Symbolic function. Translation function. LinearFunction(*args) Linear numerical math function. QuadraticFunction(*args) Quadratic function. DatabaseFunction(*args) Pre-evaluated function. PythonFunction(inputDim, outputDim[, func, ...]) Override Function from Python. Override Function from Python. MemoizeFunction(*args) Function which keeps tracks of input and output.

## Algebra of functions¶

 AggregatedFunction(*args) Aggregated function. ComposedFunction(*args) Composed function. Function which outputs the Euclidean distance to a Domain . Linear combination of functions with vectorial weights. IdentityFunction(*args) Identity function. IndicatorFunction(*args) Indicator function of a Domain . Linear combination of functions. ParametricFunction(*args) Parametric function. ProductFunction(*args) Product function. Evaluation of the composition where acts on points and produces points. Composition function where acts on fields and produces fields. Composition function where acts on fields and produces points. Composition function where acts on points and produces fields. Composition function where acts on points and produces points.

## Field and mixed functions¶

Refer to Field functions.

 FieldFunction(*args) Function mapping a field to a field. Function mapping a field into a point. Function mapping a point into a field. Parametric Point to Field function. Function mapping a (vertex, value) point to a field. PythonFieldFunction(inputMesh, inputDim, ...) Override FieldFunction from Python. ValueFunction(*args) Function mapping a field to a field. Function mapping a field to a field. PythonFieldFunction(inputMesh, inputDim, ...) Override FieldFunction from Python. PythonFieldToPointFunction(inputMesh, ...[, ...]) Override FieldToPointFunction from Python. PythonPointToFieldFunction(inputDim, ...[, func]) Override PointToFieldFunction from Python. OpenTURNSPythonFieldFunction(inputMesh, ...) Override FieldFunction from Python. Override FieldToPointFunction from Python. Override PointToFieldFunction from Python. P1 interpolation of values between two meshes.

## Collection of functions¶

 Basis(*args) Basis. OrthogonalBasis(*args) Orthogonal basis. BasisSequence(*args) Sequence of basis.

## Finite differentiation schemes¶

 First order centered finite-difference scheme. Second order centered finite-difference scheme. Base class for first order finite-difference schemes. Base class for second order centered finite-difference scheme. First order non-centered finite-difference scheme. Base class to define finite difference steps. ConstantStep(*args) Constant step. BlendedStep(*args) Blended step.

## Evaluation functions¶

 Evaluation(*args) Numerical math evaluation implementation. Numerical math evaluation implementation. Aggregated numerical math evaluation implementation. ComposedEvaluation(*args) Proxy of C++ OT::ComposedEvaluation. DatabaseEvaluation(*args) Data based math evaluation implementation. Proxy of C++ OT::DistanceToDomainEvaluation. Dual linear combination evaluation implementation. Proxy of C++ OT::IndicatorEvaluation. Proxy of C++ OT::LinearCombinationEvaluation. LinearEvaluation(*args) Linear numerical math evaluation implementation. MarginalEvaluation(*args) Proxy of C++ OT::MarginalEvaluation. Marginal transformation evaluation. MemoizeEvaluation(*args) Evaluation which keeps tracks of input and output. NoEvaluation(*args) Proxy of C++ OT::NoEvaluation. Proxy of C++ OT::ParametricEvaluation. Piecewise Hermite interpolation evaluation. Piecewise linear interpolation evaluation. Data based math evaluation implementation. ProductEvaluation(*args) Proxy of C++ OT::ProductEvaluation. Product polynomial evaluation implementation. Proxy of C++ OT::QuadraticEvaluation. SymbolicEvaluation(*args) Proxy of C++ OT::SymbolicEvaluation. Translation evaluation.

 Numerical math gradient implementation. SymbolicGradient(*args) Proxy of C++ OT::SymbolicGradient. ComposedGradient(*args) Proxy of C++ OT::ComposedGradient. ConstantGradient(*args) Proxy of C++ OT::ConstantGradient. Dual linear combination gradient implementation. Proxy of C++ OT::LinearCombinationGradient. LinearGradient(*args) Linear numerical math gradient implementation. NoGradient(*args) Proxy of C++ OT::NoGradient. ParametricGradient(*args) Proxy of C++ OT::ParametricGradient. ProductGradient(*args) Proxy of C++ OT::ProductGradient. MarginalGradient(*args) Proxy of C++ OT::MarginalGradient.

## Hessian functions¶

 Numerical math hessian implementation. SymbolicHessian(*args) Proxy of C++ OT::SymbolicHessian. ComposedHessian(*args) Proxy of C++ OT::ComposedHessian. ConstantHessian(*args) Proxy of C++ OT::ConstantHessian. Dual linear combination hessian implementation. Proxy of C++ OT::LinearCombinationHessian. NoHessian(*args) Proxy of C++ OT::NoHessian. NullHessian(*args) Proxy of C++ OT::NullHessian. ParametricHessian(*args) Proxy of C++ OT::ParametricHessian. ProductHessian(*args) Proxy of C++ OT::ProductHessian. MarginalHessian(*args) Proxy of C++ OT::MarginalHessian.

## Differential equation solvers¶

 ODESolver(*args) ODE solver base class. RungeKutta(*args) Runge-Kutta fourth-order method. Fehlberg(*args) Adaptive order Fehlberg method.

## Special constants & functions¶

### Special functions¶

Special functions are implemented as C++ static methods and are hence casted as Python functions.

 Accurate summation. Modified first kind Bessel function of order 0. Modified first kind Bessel function of order 1. SpecFunc.BesselK(nu, x) Modified second kind Bessel function of order . Derivative of the modified second kind Bessel function of order . SpecFunc.Beta(a, b) Beta function . Compute the number of bits set to 1 in an integer. SpecFunc.Clip01(prob[, tail]) Clip a value on [0, 1]. SpecFunc.Dawson(*args) Dawson function. SpecFunc.Debye(x, n) Debye function of order . Difference between the logarithms of Bessel I1 and I0. SpecFunc.DiGamma(*args) Digamma function. Inverse of the DiGamma function. Dilogarithm function. SpecFunc.Ei(*args) Exponential integral function. SpecFunc.Erf(*args) Error function Erf. SpecFunc.ErfC(*args) Complementary error function ErfC. SpecFunc.ErfCX(*args) ErfCX function. SpecFunc.ErfI(*args) Imaginary error function ErfI. Inverse of the error function Erf. Expm1 function. Factorial function. Complex Faddeeva function. Imaginary part of the Faddeeva function. SpecFunc.Gamma(*args) Gamma function . GammaCorrection function. Hypergeometric function of type (1,1). SpecFunc.HyperGeom_2_1(p1, p2, q1, x) Hypergeometric function of type (2,1). SpecFunc.HyperGeom_2_2(p1, p2, q1, q2, x) Hypergeometric function of type (2,2). IGamma1pm1 function. SpecFunc.IncompleteBeta(a, b, x[, tail]) Incomplete Beta function. SpecFunc.IncompleteBetaInverse(a, b, x[, tail]) Inverse of the incomplete Beta function. SpecFunc.IncompleteGamma(a, x[, tail]) Incomplete Gamma function. SpecFunc.IncompleteGammaInverse(a, x[, tail]) Inverse of the incomplete Gamma function with respect to . SpecFunc.IPow(x, n) Raise the given to the integral power . SpecFunc.IRoot(x, n) Extract the integral root of the given . SpecFunc.IsNormal(value) Check for non-NaN and non-Inf values. SpecFunc.LambertW(x[, principal]) Lambert W function. Log1MExp function. Log1p function. Integer base 2 logarithm of . Logarithm of the modified first kind Bessel function of order 0. Logarithm of the modified first kind Bessel function of order 1. Logarithm of the modified second kind Bessel function of order . Logarithm of the Beta function. Logarithm of the factorial function. SpecFunc.LogGamma(*args) Logarithm of the Gamma function. LogGamma1p function. Smallest power of two greater or equal to the given . SpecFunc.Psi(*args) Psi function, alias for digamma function. Regularized incomplete Beta function. Inverse of the regularized incomplete Beta function. SpecFunc.RegularizedIncompleteGamma(a, x[, tail]) Regularized incomplete Gamma function. Inverse of the regularized incomplete Gamma function. Error of the Stirling approximation of the factorial logarithm. TriGamma function.

## External code coupling¶

These methods are dedicated to coupling external codes by means of text files.

 coupling_tools.replace(infile, outfile, ...) Replace values in a file using delimiters. coupling_tools.execute(cmd[, cwd, shell, ...]) Launch an external process. coupling_tools.get_value(filename[, token, ...]) Get a value from a file using a delimiter and/or offsets. coupling_tools.get_line_col(filename[, ...]) Get a value at specific line/columns coordinates. coupling_tools.get_regex(filename, patterns) Get values from a file using regex. coupling_tools.get(filename[, tokens, ...]) Get several values from a file using delimiters and/or offsets.

## 1-D functions¶

 UniVariateFunction(*args) Base class for univariate functions.