quri_parts.core.operator.trotter_suzuki module#
- class ExponentialSinglePauli(pauli, coefficient)#
Bases:
NamedTuple
A class representing exponential function of a Pauli operator.
This class represents an exponential function of Pauli operators \(\exp(aP)\) where \(a\) is a coefficient and \(P\) is a Pauli operator. Note that this coefficient can also be a complex number.
- Parameters:
pauli (PauliLabel) –
coefficient (complex) –
- pauli: PauliLabel#
Alias for field number 0
- coefficient: complex#
Alias for field number 1
- trotter_suzuki_decomposition(op, param, order)#
Trotter-Suzuki decomposition [1], a recursive formula of the approximation that decomposes an exponential function of the sum of Pauli operators into a product of the exponential function of Pauli operators. The explicit formula for the sum of Pauli operator \(A=\sum_i A_i\) is given as follows:
\[\begin{split}S_{2k}(x)&=[S_{2k-2}(p_kx)]^2S_{2k-2}((1-4p_k)x)][S_{2k-2}(p_kx)]^2,\\ S_2(x)&=\prod_{j=1}^me^{A_j x /2}\prod_{j'=m}^1 e^{A_{j'} x /2},\\ p_k&=(4-4^{1/(2k-1)})^{-1},\end{split}\]where \(k\) is an order of this decomposition and \(A_i\) is the Pauli operator.
- Parameters:
op (Operator) – An operator on the exponential.
param (complex) – The overall coefficient of the exponential. This can be not only a real but also a complex number.
order (int) – The order of the Trotter-Suzuki decomposition. An integer that satisfies >= 1.
- Returns:
List of ExponentialSinglePauli.
- Return type:
list[ExponentialSinglePauli]
- Ref:
[1]: M. Suzuki, Fractal decomposition of exponential operators with applications to many-body theories and Monte Carlo simulation, Phys. Lett. 146 319-323, 1990