Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation Python
Les fondamentaux
Voir le programme détaillé
Module « numpy.matlib »

Fonction isclose - module numpy.matlib

Signature de la fonction isclose

def isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) 

Description

help(numpy.matlib.isclose)

Returns a boolean array where two arrays are element-wise equal within a
tolerance.

The tolerance values are positive, typically very small numbers.  The
relative difference (`rtol` * abs(`b`)) and the absolute difference
`atol` are added together to compare against the absolute difference
between `a` and `b`.

.. warning:: The default `atol` is not appropriate for comparing numbers
             with magnitudes much smaller than one (see Notes).

Parameters
----------
a, b : array_like
    Input arrays to compare.
rtol : array_like
    The relative tolerance parameter (see Notes).
atol : array_like
    The absolute tolerance parameter (see Notes).
equal_nan : bool
    Whether to compare NaN's as equal.  If True, NaN's in `a` will be
    considered equal to NaN's in `b` in the output array.

Returns
-------
y : array_like
    Returns a boolean array of where `a` and `b` are equal within the
    given tolerance. If both `a` and `b` are scalars, returns a single
    boolean value.

See Also
--------
allclose
math.isclose

Notes
-----
For finite values, isclose uses the following equation to test whether
two floating point values are equivalent.::

 absolute(a - b) <= (atol + rtol * absolute(b))

Unlike the built-in `math.isclose`, the above equation is not symmetric
in `a` and `b` -- it assumes `b` is the reference value -- so that
`isclose(a, b)` might be different from `isclose(b, a)`.

The default value of `atol` is not appropriate when the reference value
`b` has magnitude smaller than one. For example, it is unlikely that
``a = 1e-9`` and ``b = 2e-9`` should be considered "close", yet
``isclose(1e-9, 2e-9)`` is ``True`` with default settings. Be sure
to select `atol` for the use case at hand, especially for defining the
threshold below which a non-zero value in `a` will be considered "close"
to a very small or zero value in `b`.

`isclose` is not defined for non-numeric data types.
:class:`bool` is considered a numeric data-type for this purpose.

Examples
--------
>>> import numpy as np
>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8])
array([ True, False])

>>> np.isclose([1e10,1e-8], [1.00001e10,1e-9])
array([ True, True])

>>> np.isclose([1e10,1e-8], [1.0001e10,1e-9])
array([False,  True])

>>> np.isclose([1.0, np.nan], [1.0, np.nan])
array([ True, False])

>>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)
array([ True, True])

>>> np.isclose([1e-8, 1e-7], [0.0, 0.0])
array([ True, False])

>>> np.isclose([1e-100, 1e-7], [0.0, 0.0], atol=0.0)
array([False, False])

>>> np.isclose([1e-10, 1e-10], [1e-20, 0.0])
array([ True,  True])

>>> np.isclose([1e-10, 1e-10], [1e-20, 0.999999e-10], atol=0.0)
array([False,  True])



Vous êtes un professionnel et vous avez besoin d'une formation ? Deep Learning avec Python
et Keras et Tensorflow
Voir le programme détaillé