def get_dependencies(*distributions):
    """
    Get underlying dependencies that are shared between distributions.

    If more than two distributions are provided, any pair-wise dependency
    between any two distributions are included, implying that an empty set is
    returned if and only if the distributions are i.i.d.

    Args:
        distributions:
            Distributions to check for dependencies.

    Returns:
        dependencies (List[Dist]):
            Distributions dependency shared at least between at least one pair
            from ``distributions``.

    Examples:
        >>> dist1 = chaospy.Uniform(1, 2)
        >>> dist2 = chaospy.Uniform(1, 2) * dist1
        >>> dist3 = chaospy.Uniform(3, 5)
        >>> print(chaospy.get_dependencies(dist1, dist2))
        [uniform(), Mul(uniform(), 0.5), Uniform(lower=1, upper=2)]
        >>> print(chaospy.get_dependencies(dist1, dist3))
        []
        >>> print(chaospy.get_dependencies(dist2, dist3))
        []
        >>> print(chaospy.get_dependencies(dist1, dist2, dist3))
        [uniform(), Mul(uniform(), 0.5), Uniform(lower=1, upper=2)]
    """
    from .. import baseclass
    distributions = [
        sorted_dependencies(dist) for dist in distributions
        if isinstance(dist, baseclass.Dist)
    ]

    dependencies = list()
    for idx, dist1 in enumerate(distributions):
        for dist2 in distributions[idx+1:]:
            dependencies.extend([dist for dist in dist1 if dist in dist2])

    return sorted(dependencies)
def get_dependencies ( * distributions ) : from . . import baseclass distributions = [ sorted_dependencies ( dist ) for dist in distributions if isinstance ( dist , baseclass . Dist ) ] dependencies = list ( ) for idx , dist1 in enumerate ( distributions ) : for dist2 in distributions [ idx + 1 : ] : dependencies . extend ( [ dist for dist in dist1 if dist in dist2 ] ) return sorted ( dependencies )
Get underlying dependencies that are shared between distributions.

    If more than two distributions are provided, any pair-wise dependency
    between any two distributions are included, implying that an empty set is
    returned if and only if the distributions are i.i.d.

    Args:
        distributions:
            Distributions to check for dependencies.

    Returns:
        dependencies (List[Dist]):
            Distributions dependency shared at least between at least one pair
            from ``distributions``.

    Examples:
        >>> dist1 = chaospy.Uniform(1, 2)
        >>> dist2 = chaospy.Uniform(1, 2) * dist1
        >>> dist3 = chaospy.Uniform(3, 5)
        >>> print(chaospy.get_dependencies(dist1, dist2))
        [uniform(), Mul(uniform(), 0.5), Uniform(lower=1, upper=2)]
        >>> print(chaospy.get_dependencies(dist1, dist3))
        []
        >>> print(chaospy.get_dependencies(dist2, dist3))
        []
        >>> print(chaospy.get_dependencies(dist1, dist2, dist3))
        [uniform(), Mul(uniform(), 0.5), Uniform(lower=1, upper=2)]