Als Teil eines Variationsalgorithmus möchte ich eine Quantenschaltung (idealerweise mit pyQuil ) konstruieren , die einen Hamilton-Operator der folgenden Form simuliert:
Wenn es um den letzten Begriff geht, besteht das Problem darin, dass pyQuil den folgenden Fehler auslöst:
TypeError: PauliTerm coefficient must be real
Ich habe angefangen, in die Literatur einzutauchen, und es scheint ein nicht triviales Problem zu sein. Ich bin auf dieses Papier über universelle Quanten-Hamiltonianer gestoßen, in dem sowohl komplexe als auch reale Codierungen sowie lokale Codierungen diskutiert werden. Mir ist jedoch immer noch nicht klar, wie man so etwas praktisch umsetzen würde. Kann mir jemand einen praktischen Rat geben, wie ich dieses Problem lösen kann?
quelle
Antworten:
Ein herkömmlicher Hamiltonianer ist Hermitianer. Wenn es also einen nicht-hermitischen Begriff enthält, muss es entweder auch seine hermitische Konjunktion als einen anderen Begriff enthalten oder 0 Gewicht haben. In diesem speziellen Fall müsste der Koeffizient 0 sein , da selbst Hermitian ist. Wenn Sie also von herkömmlichen Hamiltonianern sprechen, haben Sie wahrscheinlich einen Fehler in Ihrer Berechnung gemacht. Beachten Sie, dass Sie, wenn das hermitische Konjugat des Begriffs nicht vorhanden ist, die Dinge nicht einfach durch Hinzufügen reparieren können. Sie erhalten ein völlig anderes Ergebnis.Z⊗X⊗Y
Auf der anderen Seite möchten Sie möglicherweise einen nicht-hermitianischen Hamiltonianer implementieren . Diese Dinge existieren oft zur Beschreibung von Geräuschprozessen, sind aber bei weitem nicht so weit verbreitet. Sie müssen die Terminologie "nicht-hermitisch" explizit einfügen, da sonst jeder denkt, dass das, was Sie tun, falsch ist, weil es nicht hermitisch ist und ein Hamiltonianer hermitisch sein sollte. Ich bin nicht allzu vertraut mit den Funktionen, die die verschiedenen Simulatoren bieten, aber ich wäre überrascht, wenn sie eine Nicht-Hermitizität eingebaut hätten.
quelle
Die Ausgabe ist H:
Da es sich um eine echte Matrix handelt, bedeutet Hermitian symmetrisch, aber dies ist nicht symmetrisch und daher nicht hermitisch. Das obere rechte Dreieck entspricht nicht dem unteren rechten Dreieck.
Das obere rechte Dreieck ist jedoch das Negativ des unteren rechten Dreiecks, daher ist es anti-hermitisch.
Wenn Sie also AHussains Vorschlag machen, die konjugierte Transponierte hinzuzufügen, erhalten Sie 0. Führen Sie einfach diesen Befehl aus:
und Sie erhalten eine 8x8-Matrix von Nullen.
Wenn Sie also Ihren Hamilton-Hermitian durch Hinzufügen der konjugierten Transponierten erstellen, erhalten Sie 0 für diesen Term, und daher müssen Sie keine imaginären Koeffizienten haben .
quelle