# quri_parts.core.operator.trotter_suzuki module#

class quri_parts.core.operator.trotter_suzuki.ExponentialSinglePauli(pauli: PauliLabel, coefficient: complex)#

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.

pauli: PauliLabel#

Alias for field number 0

coefficient: complex#

Alias for field number 1

quri_parts.core.operator.trotter_suzuki.trotter_suzuki_decomposition(op: Operator, param: complex, order: int) list[ExponentialSinglePauli]#

Trotter-Suzuki decomposition , 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 – An operator on the exponential.

• param – The overall coefficient of the exponential. This can be not only a real but also a complex number.

• order – The order of the Trotter-Suzuki decomposition. An integer that satisfies >= 1.

Returns:

List of ExponentialSinglePauli.

Ref:

: M. Suzuki, Fractal decomposition of exponential operators with applications to many-body theories and Monte Carlo simulation, Phys. Lett. 146 319-323, 1990