Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

PurityRBFitter

PurityRBFitter(purity_result, npurity, cliff_lengths, rb_pattern=None) GitHub(opens in a new tab)

Bases: qiskit.ignis.verification.randomized_benchmarking.fitters.RBFitterBase

Class for fitter for purity RB.

Derived from RBFitterBase class.

Parameters

  • purity_result (list) – list of results of the 3^n purity RB sequences per seed (qiskit.Result).
  • npurity (int) – equals 3^n (where n is the dimension).
  • cliff_lengths (list) – the Clifford lengths, 2D list i x j where i is the number of patterns, j is the number of cliffords lengths.
  • rb_pattern (list) – the pattern for the RB sequences.

Methods

F234

static PurityRBFitter.F234(n, a, b)

Function than maps: 2^n x 3^n –> 4^n , namely: (a,b) –> c where a in 2^n, b in 3^n, c in 4^n

add_data

PurityRBFitter.add_data(new_purity_result, rerun_fit=True)

Add a new result.

Parameters

  • new_purity_result (list) – list of RB results of the purity RB circuits.
  • rerun_fit (bool) – re-calculate the means and fit the result.

Additional information:

Assumes that the executed ‘result’ is the output of circuits generated by randomized_benchmarking_seq where is_purity = True.

add_zdict_ops

PurityRBFitter.add_zdict_ops()

Creating all Z-correlators in order to compute the expectation values.

calc_data

PurityRBFitter.calc_data()

Retrieve probabilities of success from execution results.

Measure the purity calculation into an internal variable _raw_data which is a 3-dimensional list, where item (i,j,k) is the purity of the set of qubits in pattern “i” for seed no. j and vector length self._cliff_lengths[i][k].

Additional information:

Assumes that the executed ‘result’ is the output of circuits generated by randomized_benchmarking_seq,

calc_statistics

PurityRBFitter.calc_statistics()

Extract averages and std dev from the raw data (self._raw_data).

Assumes that self._calc_data has been run. Output into internal _ydata variable. ydata is a list of dictionaries (length number of patterns):

Dictionary ydata[i]:

  • ydata[i][‘mean’] is a numpy_array of length n; entry j of this array contains the mean probability of success over seeds, for vector length self._cliff_lengths[i][j].
  • ydata[i][‘std’] is a numpy_array of length n; entry j of this array contains the std of the probability of success over seeds, for vector length self._cliff_lengths[i][j].

fit_data

PurityRBFitter.fit_data()

Fit the Purity RB results to an exponential curve.

Use the data to construct guess values for the fits.

Puts the results into a list of fit dictionaries where each dictionary corresponds to a pattern and has fields:

  • params - three parameters of rb_fit_fun. The middle one is the exponent.
  • err - the error limits of the parameters.
  • epc - Error per Clifford.
  • pepc - Purity Error per Clifford.

fit_data_pattern

PurityRBFitter.fit_data_pattern(patt_ind, fit_guess)

Fit the RB results of a particular pattern to an exponential curve.

Parameters

  • patt_ind (int) – index of the subsystem to fit.
  • fit_guess (list) – guess values for the fit.

Puts the results into a list of fit dictionaries where each dictionary corresponds to a pattern and has fields:

  • params - three parameters of rb_fit_fun. The middle one is the exponent.
  • err - the error limits of the parameters.

plot_rb_data

PurityRBFitter.plot_rb_data(pattern_index=0, ax=None, add_label=True, show_plt=True)

Plot purity RB data of a single pattern.


Attributes

cliff_lengths

Return clifford lengths.

fit

Return the purity fit parameters.

raw_data

Return raw data.

rb_fit_fun

Return the fit function rb_fit_fun.

rbfit_pur

Return the purity RB fitter.

results

Return all the results.

seeds

Return the number of loaded seeds.

ydata

Return ydata (means and std devs).

Was this page helpful?