Exemplo n.º 1
0
def prove(Eq):
    n = Symbol.n(domain=[2, oo], integer=True)
    W = Symbol.W(shape=(n, n), complex=True)
    Eq << apply(W)

    U = Symbol.U(definition=Eq[0].lhs)
    V = Symbol.V(definition=Eq[0].rhs)

    Eq << U.this.definition
    Eq << V.this.definition

    i = Symbol.i(integer=True, domain=[0, n])
    j = Symbol.j(integer=True, domain=[0, n])

    Eq << (V[i, j].this.definition, U[i, j].this.definition)

    Eq << (Eq[-1].this.rhs.as_KroneckerDelta(),
           Eq[-2].this.rhs.as_KroneckerDelta())

    Eq << Eq[-2] - Eq[-1]

    Eq << Eq[-1].reference((j, ), (i, ))

    Eq << Eq[-1].subs(Eq[1]).subs(Eq[2])

    Eq << Eq[-1].forall((j, ), (i, ))
Exemplo n.º 2
0
def prove(Eq):
    n = Symbol.n(domain=[2, oo], integer=True)
    Eq << apply(n)

    U = Symbol.U(definition=Eq[0].lhs)
    V = Symbol.V(definition=Eq[0].rhs)

    Eq << U.this.definition
    Eq << V.this.definition

    i = Symbol.i(integer=True, domain=[0, n])

    Eq << Eq[-1][i]

    Eq << U[i].this.definition

    Eq << Eq[-2].this.rhs.as_KroneckerDelta()

    Eq << Eq[-2] - Eq[-1]

    Eq << Eq[-1].reference((i, ))

    Eq << Eq[-1].subs(Eq[1]).subs(Eq[2])