Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Beitragsseiten

Unit Tests

Die Quantum Algebra Ergänzung wird begleitet von einer Serie von Unit Tests. Sie sollen gewährleisten, dass bei Änderungen der Code lauffähig bleibt.

Gleichzeitig kann man mit ihrer Hilfe nachverfolgen, welche Regeln zu welchen Vereinfachungen führen.

(* Combine product of Integrations *)
Test[
    QAIntegrate[Subscript[x, 1], V, 3, x] QAIntegrate[Subscript[y, 2], V, 3, y],
    QAIntegrate[Subscript[x, 1] Subscript[y, 2], V, 3, x, y],
    TestID->"Integrate-20181213-P3R4W5"
]

(* Apply DiracDelta in Integrate about 2 integration ranges *)
Test[
    QAIntegrate[
        Subscript[x, 1] Subscript[y, 2] * 
        DiracDelta[Subscript[x, 1] - Subscript[y, 1], Subscript[x, 2] - Subscript[y, 2], Subscript[x, 3] - Subscript[y, 3]], 
        V, 3, x, y],
    QAIntegrate[Subscript[x, 1] Subscript[x, 2], V, 3, x],
    TestID->"Integrate-20181213-N8K6H2"
]

(* Integrate about Exponential resolved to DiracDelta *)
Test[
    QAIntegrate[
        Power[E, I (Subscript[k, 1] (Subscript[x, 1] - Subscript[y, 1]) + Subscript[k, 2] (Subscript[x, 2] - Subscript[y, 2]))], 
        Infinity, 2, k],
    DiracDelta[Subscript[x, 1] - Subscript[y, 1], Subscript[x, 2] - Subscript[y, 2]] 4 Pi^2,
    TestID->"Integrate-20181216-P1R1T9"
]

(* Test of Name Ordering Rule, op1 ** op2 are in reverse order *)
Test[
    (op1 = Operator[q, "H", { Subscript[k, 1], Subscript[k, 2] }, {}];
    op2 = Operator[p, "H", { Subscript[l, 1], Subscript[l, 2] }, {}];
    (op1 ** op2) /. { DefineNameOrderingRule[False, 2] }),
    op2 ** op1,
    TestID->"NameOrdering-20181226-X4S4F9"
]

(* Derivation of an Operator Product *)
Test[
    QAD[Operator[a, { Subscript[x, 1] }, {}] ** Operator[b, { Subscript[x, 1] }, { s }], Subscript[x, 1]],

    QAD[Operator[a, { Subscript[x, 1] }, {}], Subscript[x, 1]] ** Operator[b, { Subscript[x, 1] }, { s }] + 
        Operator[a, { Subscript[x, 1] }, {}] ** QAD[Operator[b, { Subscript[x, 1] }, { s }], Subscript[x, 1]],

    TestID->"Derivation-20181217-L0J8L0"
]

   
   
© Jürgen 2019
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok