Solver

class Solver(*args)

SolverImplementation of 1D non linear equations.

Parameters:
absErrorpositive float, optional

Absolute error: distance between two successive iterates at the end point. Default is 10^{-5}.

relErrorpositive float, optional

Relative error: distance between the two last successive iterates with regards to the last iterate. Default is 10^{-5}.

resErrorpositive float, optional

Residual error: difference between the last iterate value and the expected value. Default is 10^{-8}.

maximumFunctionEvaluationint, optional

The maximum number of evaluations of the function. Default is 100.

Methods

getAbsoluteError()

Accessor to the absolute error.

getCallsNumber()

Accessor to the number of function calls.

getClassName()

Accessor to the object's name.

getId()

Accessor to the object's id.

getImplementation()

Accessor to the underlying implementation.

getMaximumCallsNumber()

Accessor to the maximum number of function calls.

getName()

Accessor to the object's name.

getRelativeError()

Accessor to the relative error.

getResidualError()

Accessor to the residual error.

setAbsoluteError(absoluteError)

Accessor to the absolute error.

setMaximumCallsNumber(maximumCallsNumber)

Accessor to the maximum number of function calls.

setName(name)

Accessor to the object's name.

setRelativeError(relativeError)

Accessor to the relative error.

setResidualError(residualError)

Accessor to the residual error.

solve(*args)

Solve an equation.

See also

Bisection, Brent, Secant

Notes

This class enables to solve 1D non linear equations :

f(x) = value, \forall x \in [infPoint, supPoint]

if f is a continuous function from \Rset to \Rset, infPoint, supPoint \in \Rset and if f is such that f(infPoint) \times f(supPoint) < 0, then f has at least a zero in the interval [infPoint, supPoint]. In particular, it is used in the root research of a Directional Sampling simulation.

__init__(*args)
getAbsoluteError()

Accessor to the absolute error.

Returns:
absErrorfloat

The absolute error: distance between two successive iterates at the end point.

getCallsNumber()

Accessor to the number of function calls.

Returns:
nEvalint

The number of function calls.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getImplementation()

Accessor to the underlying implementation.

Returns:
implImplementation

A copy of the underlying implementation object.

getMaximumCallsNumber()

Accessor to the maximum number of function calls.

Returns:
maxEvalint

The maximum number of function calls.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getRelativeError()

Accessor to the relative error.

Returns:
relErrorfloat

The relative error: distance between the two last successive iterates with regards to the last iterate.

getResidualError()

Accessor to the residual error.

Returns:
resErrorfloat

The residual errors: difference between the last iterate value and the expected value.

setAbsoluteError(absoluteError)

Accessor to the absolute error.

Parameters:
absErrorfloat

The absolute error: distance between two successive iterates at the end point.

setMaximumCallsNumber(maximumCallsNumber)

Accessor to the maximum number of function calls.

Parameters:
maxEvalint

The maximum number of function calls.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setRelativeError(relativeError)

Accessor to the relative error.

Parameters:
relErrorfloat

The relative error: distance between the two last successive iterates with regards to the last iterate.

setResidualError(residualError)

Accessor to the residual error.

Parameters:
resErrorfloat

The residual errors: difference between the last iterate value and the expected value.

solve(*args)

Solve an equation.

Parameters:
functionFunction

The function of the equation function(x) = value to be solved in the interval [infPoint, supPoint].

valuefloat

The value to which the function must be equal.

infPoint, supPointfloat

Lower and upper bounds of the variable x range.

infValue, supValuefloat, optional

The values such that infValue = function(infPoint), and supValue = function(supPoint). infValue must be of opposite sign of supValue.

Returns:
resultfloat

The result of the root research.