'The second kind of Bell polynomials (incomplete Bell polynomials).
Calculated by recurrence formula:
.. math:: B_{n,k}(x_1, x_2, \dotsc, x_{n-k+1}) =
\sum_{m=1}^{n-k+1}
\x_m \binom{n-1}{m-1} B_{n-m,k-1}(x_1, x_2, \dotsc, x_{n-m-k})
where
B_{0,0} = 1;
B_{n,0} = 0; for n>=1
B_{0,k} = 0; for k>=1'

@staticmethod
def _bell_incomplete_poly(n, k, symbols):

    if ((n == 0) and (k == 0)):
        return S.One
    elif ((n == 0) or (k == 0)):
        return S.Zero
    s = S.Zero
    a = S.One
    for m in range(1, ((n - k) + 2)):
        s += ((a * bell._bell_incomplete_poly((n - m), (k - 1), symbols)) * symbols[(m - 1)])
        a = ((a * (n - m)) / m)
    return expand_mul(s)
