Exemplo n.º 1
0
def apply(n, k, A=None):
    j = Symbol.j(domain=Interval(0, k, integer=True))
    if A is None:
        x = Symbol.x(shape=(oo, ), dtype=dtype.integer, finite=True)
        i = Symbol.i(integer=True)
        s1_quote = Symbol("s'_1",
                          definition=Stirling.conditionset(n, k + 1, x))
        x_quote = Symbol("x'",
                         definition=LAMBDA[i:k + 1](Piecewise(
                             ({n} | x[i], Equality(i, j)), (x[i], True))))
        A = Symbol.A(definition=LAMBDA[j](UNION[x[:k + 1]:s1_quote]
                                          ({x_quote.set_comprehension()})))

    return Equality(abs(UNION[j](A[j])), Sum[j](abs(A[j])))
Exemplo n.º 2
0
def apply(n, k, s2=None, A=None):
    j = Symbol.j(domain=Interval(0, k, integer=True))
    if s2 is None:
        x = Symbol.x(shape=(oo, ), dtype=dtype.integer, finite=True)
        s2 = Symbol.s2(
            definition=UNION[x[:k + 1]:Stirling.conditionset(n + 1, k + 1, x)](
                x[:k + 1].set_comprehension().set))

    e = Symbol.e(**s2.element_type.dict)
    if A is None:
        x = s2.definition.variable.base
        i = Symbol.i(integer=True)
        s1_quote = Symbol("s'_1",
                          definition=Stirling.conditionset(n, k + 1, x))
        x_quote = Symbol("x'",
                         definition=LAMBDA[i:k + 1](Piecewise(
                             ({n} | x[i], Equality(i, j)), (x[i], True))))
        A = Symbol.A(definition=LAMBDA[j](UNION[x[:k + 1]:s1_quote]
                                          ({x_quote.set_comprehension()})))

    return Equality(conditionset(e, NotContains({n}, e), s2), UNION[j](A[j]))