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