qiskit.ignis.verification.QVFitter¶

class
QVFitter
(backend_result=None, statevector_result=None, qubit_lists=None)[소스]¶ Class for fitters for quantum volume.
 매개변수
backend_result (list) – list of results (qiskit.Result).
statevector_result (list) – the ideal statevectors of each circuit
qubit_lists (list) – list of qubit lists (what was passed to the circuit generation)

__init__
(backend_result=None, statevector_result=None, qubit_lists=None)[소스]¶  매개변수
backend_result (list) – list of results (qiskit.Result).
statevector_result (list) – the ideal statevectors of each circuit
qubit_lists (list) – list of qubit lists (what was passed to the circuit generation)
Methods
__init__
([backend_result, …]) param backend_result
list of results (qiskit.Result).
add_data
(new_backend_result[, rerun_fit])Add a new result.
add_statevectors
(new_statevector_result)Add the ideal results and convert to the heavy outputs.
calc_confidence_level
(z_value)Calculate confidence level using z value.
Make a count dictionary for each unique circuit from all the results.
Convert the heavy outputs in the different trials into mean and error for plotting.
calc_z_value
(mean, sigma)Calculate z value using mean and sigma.
plot_hop_accumulative
(depth[, ax, figsize])Plot individual and accumulative heavy output probability (HOP) as a function of number of trials.
plot_qv_data
([ax, show_plt, figsize, …])Plot the qv data as a function of depth
plot_qv_trial
(depth, trial_index[, figsize, ax])Plot individual trial.
Return the volume for each depth.
Return whether each depth was successful (> 2/3 with confidence level > 0.977 corresponding to z_value = 2) and the confidence level.
Attributes
Return depth list.
Return the number of heavy output counts as measured.
Return the heavy output probability ideally.
Return the ideal heavy outputs dictionary.
Return depth list.
Return all the results.
Return the average and std of the output probability.

add_data
(new_backend_result, rerun_fit=True)[소스]¶ Add a new result. Re calculate fit
 매개변수
new_backend_result (list) – list of qv results
rerun_fit (bool) – re calculate the means and fit the result
 예외
QiskitError – If the ideal distribution isn’t loaded yet
 Additional information:
Assumes that ‘result’ was executed is the output of circuits generated by qv_circuits,

add_statevectors
(new_statevector_result)[소스]¶ Add the ideal results and convert to the heavy outputs.
Assume the result is from ‘statevector_simulator’
 매개변수
new_statevector_result (list) – ideal results
 예외
QiskitError – If the result has already been added for the circuit

calc_confidence_level
(z_value)[소스]¶ Calculate confidence level using z value.
Accumulative probability for standard normal distribution in [z, +infinity] is 1/2 (1 + erf(z/sqrt(2))), where z = (X  mu)/sigma = (hmean  2/3)/sigma
 매개변수
z_value (float) – z value in in standard normal distibution.
 반환값
confidence level in decimal (not percentage).
 반환 형식
float

calc_data
()[소스]¶ Make a count dictionary for each unique circuit from all the results.
Calculate the heavy output probability.
 Additional information:
Assumes that ‘result’ was executed is the output of circuits generated by qv_circuits,

calc_statistics
()[소스]¶ Convert the heavy outputs in the different trials into mean and error for plotting.
Here we assume the error is due to a binomial distribution. Error (standard deviation) for binomial distribution is sqrt(np(1p)), where n is the number of trials (self._ntrials) and p is the success probability (self._ydata[0][depthidx]/self._ntrials).

calc_z_value
(mean, sigma)[소스]¶ Calculate z value using mean and sigma.
 매개변수
mean (float) – mean
sigma (float) – standard deviation
 반환값
z_value in standard normal distibution.
 반환 형식
float

property
depths
¶ Return depth list.

property
heavy_output_counts
¶ Return the number of heavy output counts as measured.

property
heavy_output_prob_ideal
¶ Return the heavy output probability ideally.

property
heavy_outputs
¶ Return the ideal heavy outputs dictionary.

plot_hop_accumulative
(depth, ax=None, figsize=(7, 5))[소스]¶ Plot individual and accumulative heavy output probability (HOP) as a function of number of trials.
 매개변수
depth (int) – depth of QV circuits
ax (Axes or None) – plot axis (if passed in).
figsize (tuple) – figure size in inches.
 예외
ImportError – If matplotlib is not installed.
 반환값
A figure of individual and accumulative HOP as a function of number of trials, with 2sigma confidence interval and 2/3 threshold.
 반환 형식
matplotlib.Figure

plot_qv_data
(ax=None, show_plt=True, figsize=(7, 5), set_title=True, title=None)[소스]¶ Plot the qv data as a function of depth
 매개변수
ax (Axes or None) – plot axis (if passed in).
show_plt (bool) – display the plot.
figsize (tuple) – Figure size in inches.
set_title (bool) – set figure title.
title (String or None) – text for setting figure title
 예외
ImportError – If matplotlib is not installed.
 반환값
A figure of Quantum Volume data (heavy output probability) with twosigma error bar as a function of circuit depth.
 반환 형식
matplotlib.Figure

plot_qv_trial
(depth, trial_index, figsize=(7, 5), ax=None)[소스]¶ Plot individual trial. :param depth: circuit depth :type depth: int :param trial_index: trial index :type trial_index: int :param figsize: Figure size in inches. :type figsize: tuple :param ax: plot axis (if passed in). :type ax: Axes or None
 반환값
A figure for histogram of ideal and experiment probabilities.
 반환 형식
matplotlib.Figure

property
qubit_lists
¶ Return depth list.

qv_success
()[소스]¶ Return whether each depth was successful (> 2/3 with confidence level > 0.977 corresponding to z_value = 2) and the confidence level.
 반환값
List of list of 2 elements for each depth:  success True/False  confidence level
 반환 형식
list

property
results
¶ Return all the results.

property
ydata
¶ Return the average and std of the output probability.