You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When creating a crosstalk model by calling pygsti.models.create_cloud_crosstalk_model by passing an error dictionary into lindblad_error_coeffs which contains non-zero affine terms, e.g. error_dict = {('Gi', 1): {'SZ:1': 0.1, 'SZ:2': 0.1, 'SZZ:1,2': 0.1, 'AZ:1': 0.1, 'AZ:2': 0.1, 'AZZ:1,2': 0.01, 'HZZ:1,2': 0}}, it disappers when calling operation_blks["cloudnoise"][("Gi", 1)]
The printed dictionary doesn't contain the affine term.
I also tried to apply mdl.operation_blks["cloudnoise"][("Gi", 1)].acton(rho) to a rho that is a density operator in Pauli product basis with just Affine term (setting all other parameters to 0 except the affine term), but nothing is changed. This indeed means the affine term is not added into the model.
Environment
pyGSTi version 0.9.12.3
python version 3.11.9
The text was updated successfully, but these errors were encountered:
Hi @KangHaiYue, thanks for the bug report! We will look into this and get back to you shortly.
Just for complete clarity, I'll mention when Lindblad generators in pyGSTi were parameterized with just H/S/A, the A generators were indeed called affine. However, a while ago we swapped to using the H/S/C/A generators from the taxonomy of small error generators paper. These A generators are different than the old affine generators, and are more commonly called active or antisymmetric nowadays. Terminology differences aside, these are different from the old affine generators, so if you do indeed mean affine and are expecting them to have the old behavior, then this code will likely not give you what you want - you'll have to figure out what your map is with the new error generator definitions.
Hi @sserita , thank you for your reply, especially for providing the paper that gives a lot of insight. From that paper, it seems that the asymmetric noise in the Z-direction is controlled by the coefficient of the A_{X,Y} generator (Section V.F. or Fig 7). So how should I implement this in the error_dict ? E.g. something like error_dict = {('Gi', 1): {'AX:1': 0.1, 'AY:1': 0.1}}? I tried to replace this with the codes above, however, the coefficients for A are still 0 (although this time they do at least show up after calling mdl.operation_blks["cloudnoise"][("Gi", 1)].errorgen_coefficients() instead of nothing . Also, how should the parameters look like in the case of many qubits?
Describe the bug
When creating a crosstalk model by calling
pygsti.models.create_cloud_crosstalk_model
by passing an error dictionary intolindblad_error_coeffs
which contains non-zero affine terms, e.g.error_dict = {('Gi', 1): {'SZ:1': 0.1, 'SZ:2': 0.1, 'SZZ:1,2': 0.1, 'AZ:1': 0.1, 'AZ:2': 0.1, 'AZZ:1,2': 0.01, 'HZZ:1,2': 0}}
, it disappers when callingoperation_blks["cloudnoise"][("Gi", 1)]
To Reproduce
`import pygsti
import numpy as np
labels = [1,2]
pspec = pygsti.processors.QubitProcessorSpec(
num_qubits=len(labels),
qubit_labels=labels,
gate_names=[
"Gxpi",
"Gypi",
"Gzpi",
"Gx",
"Gy",
"Gz",
"Gh",
"Gp",
"Gt",
"Gzr",
"Gcnot",
"Gcphase",
"Gswap",
"Gi"
],
availability={
"Gcnot": "all-permutations",
"Gcphase": "all-permutations",
"Gswap": "all-permutations",
},
)
error_dict = {('Gi', 1): {'SZ:1': 0.1, 'SZ:2': 0.1, 'SZZ:1,2': 0.1, 'AZ:1': 0.1, 'AZ:2': 0.1, 'AZZ:1,2': 0.01, 'HZZ:1,2': 0}}
mdl = pygsti.models.create_cloud_crosstalk_model(pspec, lindblad_error_coeffs=error_dict)
mdl.operation_blks["cloudnoise"][("Gi", 1)].errorgen_coefficients()`
The printed dictionary doesn't contain the affine term.
I also tried to apply
mdl.operation_blks["cloudnoise"][("Gi", 1)].acton(rho)
to arho
that is a density operator in Pauli product basis with just Affine term (setting all other parameters to 0 except the affine term), but nothing is changed. This indeed means the affine term is not added into the model.Environment
The text was updated successfully, but these errors were encountered: