def DefficiencyBound(D, k, k2):
    """ Calculate the D-efficiency bound of an array extension

    Args:
        D (float): D-efficiency of the design
        k (int): numbers of columns
        k2 (int): numbers of columns

    Returns:
        float: bound on the D-efficiency of extensions of a design with k columns to k2 columns

    """
    m = 1. + k + k * (k - 1) / 2
    m2 = 1. + k2 + k2 * (k2 - 1) / 2
    Dbound = D**(m / m2)
    return Dbound