scipy.special.

seterr#

scipy.special.seterr(**kwargs)#

Set how special-function errors are handled.

Parameters:
all{โ€˜ignoreโ€™, โ€˜warnโ€™ โ€˜raiseโ€™}, optional

Set treatment for all type of special-function errors at once. The options are:

The default is to not change the current behavior. If behaviors for additional categories of special-function errors are specified, then all is applied first, followed by the additional categories.

singular{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for singularities.

underflow{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for underflow.

overflow{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for overflow.

slow{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for slow convergence.

loss{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for loss of accuracy.

no_result{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for failing to find a result.

domain{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for an invalid argument to a function.

arg{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for an invalid parameter to a function.

other{โ€˜ignoreโ€™, โ€˜warnโ€™, โ€˜raiseโ€™}, optional

Treatment for an unknown error.

Returns:
olderrdict

Dictionary containing the old settings.

See also

geterr

get the current way of handling special-function errors

errstate

context manager for special-function error handling

numpy.seterr

similar numpy function for floating-point errors

Examples

>>> import scipy.special as sc
>>> from pytest import raises
>>> sc.gammaln(0)
inf
>>> olderr = sc.seterr(singular='raise')
>>> with raises(sc.SpecialFunctionError):
...     sc.gammaln(0)
...
>>> _ = sc.seterr(**olderr)

We can also raise for every category except one.

>>> olderr = sc.seterr(all='raise', singular='ignore')
>>> sc.gammaln(0)
inf
>>> with raises(sc.SpecialFunctionError):
...     sc.spence(-1)
...
>>> _ = sc.seterr(**olderr)