qiskit-aer icon indicating copy to clipboard operation
qiskit-aer copied to clipboard

handle T2 > 2*T1 and clarify terminology

Open dtmcclure opened this issue 1 year ago • 1 comments

Summary

  • replaces the NoiseError when T2 > 2*T1 with a warning and a line that caps T2 at the 2*T1 limit
  • clarifies some terminology issues i happened to notice while doing the above

Details and comments

Since T1 and T2 are typically measured at different times, it's not that uncommon for the most recently reported T2 to exceed the limit given by the most recently reported T1. Rather than treating this as an error, it seems better to just cap T2 at the physical limit and emit a warning.

While at it, I replaced some terms to clarify that T2 is the overall coherence time, not the relaxation time (T1) or the dephasing time (T_phi).

dtmcclure avatar Nov 08 '23 19:11 dtmcclure

Thanks, @dtmcclure (sorry for slow response). I'm all for improving terminology. Also the upgrade in handling of T2 value makes sense to me. In current API, callers of thermal_relaxation_error has responsibility to truncate T2 value and a private utility function _truncate_t2_value is provided. Raising errors in the case of T2 > 2 * T1 may be a bit beneficial (error-pruning) for users who provide T2 value by hand while the internal truncation (proposed in this PR) may be convenient for users who pass T2 values experimentally measured (not always need to write thermal_relaxation_error(t1, _truncate_t2_value(t1, t2), time)). I now lean to weight the latter benefit. I agree the change but it should be well documented.

Could you update docstring to mention the new spec (truncation of T2 to 2 * T1) and add a release note to tell the upgrade (raise an error -> silent truncation in the case of T2 > 2 * T1)?

itoko avatar Nov 22 '23 14:11 itoko