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 ? Calcul scientifique
avec Python
Voir le programme détaillé
Module « scipy.spatial.distance »

Fonction is_valid_dm - module scipy.spatial.distance

Signature de la fonction is_valid_dm

def is_valid_dm(D, tol=0.0, throw=False, name='D', warning=False) 

Description

help(scipy.spatial.distance.is_valid_dm)

Return True if input array is a valid distance matrix.

Distance matrices must be 2-dimensional numpy arrays.
They must have a zero-diagonal, and they must be symmetric.

Parameters
----------
D : array_like
    The candidate object to test for validity.
tol : float, optional
    The distance matrix should be symmetric. `tol` is the maximum
    difference between entries ``ij`` and ``ji`` for the distance
    metric to be considered symmetric.
throw : bool, optional
    An exception is thrown if the distance matrix passed is not valid.
name : str, optional
    The name of the variable to checked. This is useful if
    throw is set to True so the offending variable can be identified
    in the exception message when an exception is thrown.
warning : bool, optional
    Instead of throwing an exception, a warning message is
    raised.

Returns
-------
valid : bool
    True if the variable `D` passed is a valid distance matrix.

Notes
-----
Small numerical differences in `D` and `D.T` and non-zeroness of
the diagonal are ignored if they are within the tolerance specified
by `tol`.

Examples
--------
>>> import numpy as np
>>> from scipy.spatial.distance import is_valid_dm

This matrix is a valid distance matrix.

>>> d = np.array([[0.0, 1.1, 1.2, 1.3],
...               [1.1, 0.0, 1.0, 1.4],
...               [1.2, 1.0, 0.0, 1.5],
...               [1.3, 1.4, 1.5, 0.0]])
>>> is_valid_dm(d)
True

In the following examples, the input is not a valid distance matrix.

Not square:

>>> is_valid_dm([[0, 2, 2], [2, 0, 2]])
False

Nonzero diagonal element:

>>> is_valid_dm([[0, 1, 1], [1, 2, 3], [1, 3, 0]])
False

Not symmetric:

>>> is_valid_dm([[0, 1, 3], [2, 0, 1], [3, 1, 0]])
False



Vous êtes un professionnel et vous avez besoin d'une formation ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé