T2Fitter
class T2Fitter(backend_result, xdata, qubits, fit_p0, fit_bounds, circbasename='t2', time_unit='micro-seconds')
Bases: qiskit.ignis.characterization.fitters.BaseCoherenceFitter
Estimate T2, based on experiments outcomes.
The experiments were created by t2_circuits, and executed on the device.
The probabilities of measuring 0 is assumed to be of the form
for unknown parameters A, B, and T2.
Parameters
- backend_result (
Result
) – result of execution of t2_circuits on the backend. - xdata (
Union
[List
[float
],array
]) – delay times of the T2 circuits. - qubits (
List
[int
]) – indices of the qubits whose T2‘s are to be measured. - fit_p0 (
List
[float
]) – initial values to the fit parameters, where the order is . - fit_bounds (
Tuple
[List
[float
],List
[float
]]) – bounds on the parameters to fit. The first tuple is the lower bounds, in the order . The second tuple is the upper bounds. - circbasename (
str
) – prefix to all circuit names. - time_unit (
str
) – unit of delay times in xdata.
Methods
add_data
T2Fitter.add_data(results, recalc=True, refit=True)
Add new execution results to previous execution results
Parameters
- results (
Union
[Result
,List
[Result
]]) – new execution results - recalc (
bool
) – whether tp recalculate the data - refit (
bool
) – whether to refit the data
fit_data
T2Fitter.fit_data(qid=- 1, p0=None, bounds=None, series=None)
Fit the curve.
Compute self._params and self._params_err
Parameters
- qid (
int
) – qubit for fitting. If -1 fit for all the qubits - p0 (
Optional
[List
[float
]]) – initial guess, equivalent to p0 in scipy.optimize - bounds (
Optional
[Tuple
[List
[float
],List
[float
]]]) – bounds, equivalent to bounds in scipy.optimize - series (
Optional
[str
]) – series to fit (if None fit all)
plot
T2Fitter.plot(qind, series='0', ax=None, show_plot=False)
Plot coherence data.
Parameters
- qind – qubit index to plot
- series – which series to plot (if list then plot multiple)
- ax – plot axes
- show_plot – whether to call plt.show()
Returns
The axes object
Return type
Axes
Raises
ImportError – if matplotlib is not installed
time
T2Fitter.time(qid=- 1, series='0')
Return the characteristic time for the given qubit and series
Parameters
- qid (
int
) – the qubit index (or all qubits if -1) - series (
str
) – the series to get
Return type
Union
[float
, List
[float
]]
Returns
The characteristic time of the qubit, or all qubits
time_err
T2Fitter.time_err(qid=- 1, series='0')
Return the error of characteristic time for the given qubit and series
Parameters
- qid (
int
) – the qubit index (or all qubits if -1) - series (
str
) – the series to get
Return type
Union
[float
, List
[float
]]
Returns
The error of the characteristic time of the qubit, or all qubits
Attributes
backend_result
Return the execution results
Return type
Union
[Result
, List
[Result
]]
description
Return the fitter’s purpose, e.g. ‘T1’
Return type
str
fit_fun
Return the function used in the fit, e.g. BaseFitter._exp_fit_fun
Return type
Callable
measured_qubits
Return the indices of the qubits to be characterized
Return type
List
[int
]
params
Return the fit function parameters that were calculated by curve_fit
Return type
List
[float
]
params_err
Return the error of the fit function parameters
Return type
List
[float
]
series
Return the list of series for the data
Return type
Optional
[List
[str
]]
xdata
Return the data points on the x-axis, the independenet parameter which is fit against
Return type
Union
[List
[float
], array
]
ydata
Return the data points on the y-axis
The data points are returning in the form of a list of dictionaries:
ydata[i][‘mean’] is a list, where item
no. j is the probability of success of qubit i for a circuit that lasts xdata[j].
ydata[i][‘std’] is a list, where ydata[‘std’][j] is the
standard deviation of the success of qubit i.
Return type
List
[Dict
]