For the non-commutative operators $ X and Y $, the following Lie-Trotter formula holds.
\exp(h(X+Y)) = \left( \exp(hX/n)\exp(hY/n) \right)^n + O\left(\frac{h^2}{n}\right)
Here, $ n $ is the number of decompositions (number of trotters). This formula is correct only up to the first order of $ h $ as a Taylor expansion for $ h $, and the censoring error is $ O (h ^ 2 / n) $ reflecting that. Here, the order can be increased by devising the shape of expansion.
\exp(h(X+Y)) = \left( \exp(hX/2n)\exp(hY/n)\exp(hX/2n) \right)^n + O\left(\frac{h^3}{n^2}\right)
This is called a quadratic symmetric decomposition, and the Taylor expansion is correct up to the order of $ h ^ 2 $. Reflecting that, the censoring error becomes $ O (h ^ 3 / n ^ 2) $.
This paper confirms this improvement in approximation accuracy.
The source is https://github.com/kaityo256/lie-trotter-sample At.
What you are doing is the same as previous article, so refer to that. For primary decomposition
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)
In the case of quadratic symmetric decomposition
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)
Just write. I don't think it's difficult.
The result of the second-order symmetric decomposition is as follows.
First, the time step $ h $ dependency of the censoring error. Let $ n $ be 1,2,4, and evaluate the censoring error with various $ h $ values for each.
It can be seen that the accuracy is improved to $ O (h ^ 3) $ regardless of the number of decompositions $ n $.
Next is the dependency of the number of decompositions $ n $. Hourly $ h $ is fixed at $ 1.0 $.
The error is $ O (1 / n ^ 2) $, which shows that the accuracy is also improved.
It was confirmed that the accuracy is improved by using the quadratic symmetric decomposition in the trotter decomposition. here,
\begin{align}
U_X(h) &= \equiv \exp(h X) \\
U_Y(h) &= \equiv \exp(h Y)
\end{align}
If you write, the primary decomposition when $ n = 3 $ is
\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)
Can be written. Since $ U_X (h_1) U_X (h_2) = U_X (h_1 + h_2) $ holds, the quadratic symmetric decomposition is
\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)
And, compared to the first-order decomposition, the operator at the left end is moved to the right end by half. Even if $ n $ increases, the only difference between the two is this end. Isn't it strange that the approximation accuracy of operators increases linearly for both $ h $ and $ n $? [^ 1]
[^ 1]: People at work said, "It's a matter of course, isn't it common?"