scipy.cluster.hierarchy.correspond

scipy.cluster.hierarchy.correspond(Z, Y)[source]

Check for correspondence between linkage and condensed distance matrices.

They must have the same number of original observations for the check to succeed.

This function is useful as a sanity check in algorithms that make extensive use of linkage and distance matrices that must correspond to the same set of original observations.

Parameters
Zarray_like

The linkage matrix to check for correspondence.

Yarray_like

The condensed distance matrix to check for correspondence.

Returns
bbool

A boolean indicating whether the linkage matrix and distance matrix could possibly correspond to one another.

See also

linkage

for a description of what a linkage matrix is.

Examples

>>> from scipy.cluster.hierarchy import ward, correspond
>>> from scipy.spatial.distance import pdist

This method can be used to check if a given linkage matrix Z has been obtained from the application of a cluster method over a dataset X:

>>> X = [[0, 0], [0, 1], [1, 0],
...      [0, 4], [0, 3], [1, 4],
...      [4, 0], [3, 0], [4, 1],
...      [4, 4], [3, 4], [4, 3]]
>>> X_condensed = pdist(X)
>>> Z = ward(X_condensed)

Here, we can compare Z and X (in condensed form):

>>> correspond(Z, X_condensed)
True