pygsti.tools.errgenproptools.zassenhaus_formula#
- zassenhaus_formula(errorgen_groups, zassenhaus_order=1, truncation_threshold=1e-14)#
Function for computing the nth-order Zassenhaus formula for a set of error generators. Please see https://en.wikipedia.org/wiki/Baker%E2%80%93Campbell%E2%80%93Hausdorff_formula#Zassenhaus_formula for more information on this approximation.
Given an exponentiated sum of operators exp(X1+X2+…+Xn) the Zassenhaus formula allows one to disentangle this exponentiated sum into a product of exponentiated operators given by exp(X1)exp(X2)…exp(Xn)prod_{k=2}^infty exp(W_k) where the W_k’s are Lie polynomials (nested commutators) in the operators {X1, …, Xn}, and the value of k we go up to gives the order of the approximation.
- errorgen_groupslist of dicts
List of dictionaries of the error generator coefficients and rates for a group of error generators corresponding to each of the operators in the sum to perform Zassenhaus with respect to. The error generator coefficients are represented using LocalStimErrorgenLabel.
- zassenhaus_orderint, optional (default 1)
Order of the Zassenahaus formula to compute. Currently supports up to second order. Note that zassenhaus_order = 1 corresponds simply to the original list of error generator in errorgen_groups, and in this case we simply return errorgen_groups as-is (not a copy).
- truncation_thresholdfloat, optional (default 1e-14)
Threshold for which any error generators with magnitudes below this value are truncated.
- Returns:
zassenhaus_formula_dicts – A list of dictionaries, each corresponding to one of the operators which is exponentiated in the product as output by the Zassenhaus formula.
- Return type:
list of dicts
- Parameters:
errorgen_groups (list[dict[LocalStimErrorgenLabel, float]])
zassenhaus_order (Literal[1, 2])
truncation_threshold (float)