qiskit.ignis.characterization.BaseCoherenceFitter
class BaseCoherenceFitter(description, backend_result, xdata, qubits, fit_fun, fit_p0, fit_bounds, circuit_names, series=None, expected_state='0', time_index=0, time_unit='micro-seconds')
Base class for fitters of characteristic times
Parameters
- description (
str
) – description of the fitter’s purpose, e.g. ‘T1’. - backend_result (
Union
[Result
,List
[Result
]]) – result of execution on the backend. - xdata (
Union
[List
[float
],array
]) – delay times of the circuits. - qubits (
List
[int
]) – the qubits to be characterized. - fit_fun (
Callable
[…,float
]) – equivalent to parameter f of scipy.curve_fit. - fit_p0 (
List
[float
]) – equivalent to parameter p0 of scipy.curve_fit. - fit_bounds (
Tuple
[List
[float
],List
[float
]]) – equivalent to parameter bounds of scipy.curve_fit. - circuit_names (
List
[str
]) – names of the circuits, should be the same length as xdata. Full circuit name will be these plus the series name. - series (
Optional
[List
[str
]]) – list of circuit name tags - expected_state (
str
) – is the circuit supposed to end up in ‘0’ or ‘1’? - time_index (
int
) – among parameters of fit_fun, which one is the characteristic time. - time_unit (
str
) – unit of delay times in xdata.
__init__
__init__(description, backend_result, xdata, qubits, fit_fun, fit_p0, fit_bounds, circuit_names, series=None, expected_state='0', time_index=0, time_unit='micro-seconds')
Initialize self. See help(type(self)) for accurate signature.
Methods
__init__ (description, backend_result, xdata, …) | Initialize self. |
add_data (results[, recalc, refit]) | Add new execution results to previous execution results |
fit_data ([qid, p0, bounds, series]) | Fit the curve. |
plot (qind, series[, ax, show_plot]) | Plot coherence data. |
time ([qid, series]) | Return the characteristic time for the given qubit and series |
time_err ([qid, series]) | Return the error of characteristic time for the given qubit and series |
Attributes
backend_result | Return the execution results |
description | Return the fitter’s purpose, e.g. |
fit_fun | Return the function used in the fit, e.g. |
measured_qubits | Return the indices of the qubits to be characterized |
params | Return the fit function parameters that were calculated by curve_fit |
params_err | Return the error of the fit function parameters |
series | Return the list of series for the data |
xdata | Return the data points on the x-axis, the independenet parameter which is fit against |
ydata | Return the data points on the y-axis |
add_data
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
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_data
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)
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
]
plot
plot(qind, series, ax=None, show_plot=True)
Plot coherence data.
Parameters
- qind (
int
) – qubit index to plot - series (
str
) – which series to plot (if list then plot multiple) - ax (
Optional
[Any
]) – plot axes - show_plot (
bool
) – whether to call plt.show()
Returns
The axes object
Return type
Axes
Raises
ImportError – if matplotlib is not installed
series
Return the list of series for the data
Return type
Optional
[List
[str
]]
time
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
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
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
]