Skip to main content
`Ctrl`+`K`

# skbio.stats.distance.SymmetricMatrix.from_iterable

classmethod SymmetricMatrix.from_iterable(iterable, metric, key=None, keys=None, validate=True, condensed=False, diagonal=0.0)

  Create a symmetric matrix from an iterable given a metric.

  Parameters:
    iterable iterable

      Objects to compute pairwise relationships on.

    metric callable

      A function that takes two arguments and returns a float representing the relationship between the two objects.

    key callable or str, optional

      A function that takes one argument and returns a string representing the ID of the object. Alternatively, a key to the `metadata` property if exists for each object in the `iterable`. If None, the default IDs will be used.

    keys iterable of str, optional

      IDs of the objects. Must be the same length as `iterable`.

    validate boolean, optional

      If True, all pairwise relationships are computed, including upper and lower triangles and the diagonal. If False, `metric` is assumed to be symmetric and only the lower triangle (excluding the diagonal) is computed, thereby saving compute.

    condensed bool, optional

      Store the data in a 2-D redundant form (False, default) or a 1-D condensed form (True).

    diagonal float or array_like, optional

      Value(s) with which to fill the diagonal of the matrix. Relevant only when `validate` is False.

  Returns:
    PairwiseMatrix

      The `metric` applied to all pairwise elements in the `iterable`.

  Raises:
    ValueError

      If `key` and `keys` are both provided.