double_commutator
double_commutator(op_a, op_b, op_c, sign)
Berechnet den Doppelkommutator von drei Operatoren.
Der Doppelkommutator ist wie folgt definiert (siehe auch Kapitel 13.6, Methoden auf der Grundlage von Bewegungsgleichungen, Seite 479 von; [1] der sign=False Fall ist der symmetrische Doppelkommutator, der in Gleichung (2) von vorkommt ) [2]:
Wenn ist sign``False , gibt es Folgendes zurück:
Wenn ist sign``True , gibt es Folgendes zurück:
Operatoren, die diese Methode unterstützen, müssen das Protokoll SupportsCommutators implementieren.
Alle drei Eingaben müssen denselben Operator-Typ haben. Dadurch wird auch der Ausgabetyp festgelegt.
>>> from qiskit_fermions.operators import FermionOperator
>>> from qiskit_fermions.operators.library import double_commutator
>>> op1 = FermionOperator.from_dict({((True, 0), (False, 0)): 1})
>>> op2 = FermionOperator.from_dict({((False, 0), (True, 0)): 2})
>>> op3 = FermionOperator.from_dict(
... {((True, 0), (False, 0)): 1, ((False, 0), (True, 0)): 2 + 0.5j}
... )
>>> comm = double_commutator(op1, op2, op3, False)
>>> comm = comm.normal_ordered()
>>> canon = comm.simplify()
>>> assert canon == FermionOperator.zero()
[ 1 ]
R. McWeeny. Methoden der molekularen Quantenmechanik. 2. Auflage, Academic Press, 1992. ISBN 0-12-486552-6.
[ 2 ]
P. J. Ollitrault, A. Miessen, I. Tavernelli. Molekulare Quantendynamik: Eine Perspektive aus der Quanteninformatik. Anm. Chem. Res. 54, 4229–4238 (2021). https://doi.org/10.1021/acs.accounts.1c00514
Parameter
- op_a (T) – der oben genannte Betreiber .
- op_b (T) – der oben genannte Betreiber .
- op_c (T) – der oben genannte Betreiber .
- sign (bool) – die Eigenschaft des äußeren (Anti-)Kommutators gemäß der obigen Definition.
Rückgabe
Der Doppelkommutator gemäß der obigen Definition.
Rückgabetyp
T