Für die nicht austauschbaren Operatoren $ X und Y $ gilt die folgende Lie-Trotter-Formel.
\exp(h(X+Y)) = \left( \exp(hX/n)\exp(hY/n) \right)^n + O\left(\frac{h^2}{n}\right)
Hier ist $ n $ die Anzahl der Zerlegungen (Anzahl der Traber). Diese Formel ist nur bis zur ersten Ordnung von $ h $ als Taylor-Erweiterung für $ h $ korrekt, und der Cutoff-Fehler ist $ O (h ^ 2 / n) $, was dies widerspiegelt. Hier kann die Reihenfolge durch Festlegen der Expansionsform erhöht werden.
\exp(h(X+Y)) = \left( \exp(hX/2n)\exp(hY/n)\exp(hX/2n) \right)^n + O\left(\frac{h^3}{n^2}\right)
Dies wird als quadratische symmetrische Zerlegung bezeichnet, und die Taylor-Expansion ist bis zur Größenordnung von $ h ^ 2 $ korrekt. In Anbetracht dessen wird der Grenzfehler zu $ O (h ^ 3 / n ^ 2) $.
Dieses Papier bestätigt diese Verbesserung der Approximationsgenauigkeit.
Die Quelle ist https://github.com/kaityo256/lie-trotter-sample Beim.
Was Sie tun, ist dasselbe wie vorheriger Artikel. Zur primären Zersetzung
def trotter(X,Y,Z,h,n):
eZ = calc_exp(Z,h)
eX = calc_exp(X,h/n)
eY = calc_exp(Y,h/n)
S = np.diag(np.ones(d))
eXeY = eX.dot(eY)
for i in range(n):
S = S.dot(eXeY)
return linalg.norm(eZ - S)/linalg.norm(eZ)
Im Falle einer quadratischen symmetrischen Zerlegung
def trotter2nd(X,Y,Z,h,n):
eZ = calc_exp(Z,h)
eX = calc_exp(X,h/n*0.5)
eY = calc_exp(Y,h/n)
S = np.diag(np.ones(d))
eXeYeX = eX.dot(eY.dot(eX))
for i in range(n):
S = S.dot(eXeYeX)
return linalg.norm(eZ - S)/linalg.norm(eZ)
Einfach schreiben. Ich denke nicht, dass es schwierig ist.
Die Ergebnisse der quadratischen symmetrischen Zerlegung sind wie folgt.
Zunächst die Zeitschritt $ h $ Abhängigkeit des Cutoff-Fehlers. Sei $ n $ 1,2,4 und bewerte den Cutoff-Fehler mit verschiedenen $ h $ -Werten für jeden.
Es ist ersichtlich, dass die Genauigkeit unabhängig von der Anzahl der Zerlegungen $ n $ auf $ O (h ^ 3) $ verbessert wird.
Als nächstes folgt die Abhängigkeit der Anzahl der Zerlegungen $ n $. Stündlich $ h $ ist auf $ 1.0 $ festgelegt.
Der Fehler ist $ O (1 / n ^ 2) $, was zeigt, dass auch die Genauigkeit verbessert wird.
Es wurde bestätigt, dass die Genauigkeit durch Verwendung der quadratischen symmetrischen Zerlegung bei der Traberzerlegung verbessert wird. Hier,
\begin{align}
U_X(h) &= \equiv \exp(h X) \\
U_Y(h) &= \equiv \exp(h Y)
\end{align}
Wenn Sie schreiben, ist die primäre Zerlegung, wenn $ n = 3 $ ist
\exp(h(X+Y)) \sim U_X(h/3)U_Y(h/3)U_X(h/3)U_Y(h/3)U_X(h/3)U_Y(h/3)
Kann geschrieben werden. Da $ U_X (h_1) U_X (h_2) = U_X (h_1 + h_2) $ gilt, ist die quadratische symmetrische Zerlegung
\exp(h(X+Y)) \sim U_X(h/6)U_Y(h/3)U_X(h/3)U_Y(h/3)U_X(h/3)U_Y(h/3) U_X(h/6)
Und im Vergleich zur Zerlegung erster Ordnung wird der Operator ganz links um die Hälfte zum Ende ganz rechts verschoben. Selbst wenn $ n $ zunimmt, ist der einzige Unterschied zwischen den beiden dieses Ende. Ist es nicht seltsam, dass sich die Approximationsgenauigkeit des Operators sowohl für $ h $ als auch für $ n $ linear erhöht? [^ 1]
[^ 1]: Leute bei der Arbeit sagten: "Es ist eine Selbstverständlichkeit, ist es nicht üblich?"