Experiment Results (qiskit.result)#

Result(backend_name, backend_version, ...[, ...])

Model for Results.

ResultError(error)

Exceptions raised due to errors in result output.

Counts(data[, time_taken, creg_sizes, ...])

A class to store a counts result from a circuit execution.

qiskit.result.marginal_counts(result, indices=None, inplace=False, format_marginal=False, marginalize_memory=True)[source]#

Marginalize counts from an experiment over some indices of interest.

Paramètres:
  • result (dict | Result) – result to be marginalized (a Result object or a dict(str, int) of counts).

  • indices (List[int] | None) – The bit positions of interest to marginalize over. If None (default), do not marginalize at all.

  • inplace (bool) – Default: False. Operates on the original Result argument if True, leading to loss of original Job Result. It has no effect if result is a dict.

  • format_marginal (bool) – Default: False. If True, takes the output of marginalize and formats it with placeholders between cregs and for non-indices.

  • marginalize_memory (bool | None) – If True, then also marginalize the memory field (if present). If False, remove the memory field from the result. If None, leave the memory field as is.

Renvoie:

A Result object or a dictionary with

the observed counts, marginalized to only account for frequency of observations of bits of interest.

Type renvoyé:

Result or dict(str, int)

Lève:

QiskitError – in case of invalid indices to marginalize over.

qiskit.result.marginal_distribution(counts, indices=None, format_marginal=False)[source]#

Marginalize counts from an experiment over some indices of interest.

Unlike marginal_counts() this function respects the order of the input indices. If the input indices list is specified then the order the bit indices are specified will be the output order of the bitstrings in the marginalized output.

Paramètres:
  • counts (dict) – result to be marginalized

  • indices (Sequence[int] | None) – The bit positions of interest to marginalize over. If None (default), do not marginalize at all.

  • format_marginal (bool) – Default: False. If True, takes the output of marginalize and formats it with placeholders between cregs and for non-indices.

Renvoie:

A marginalized dictionary

Type renvoyé:

dict(str, int)

Lève:
  • QiskitError – If any value in indices is invalid or the counts dict

  • is invalid. –

qiskit.result.marginal_memory(memory, indices=None, int_return=False, hex_return=False, avg_data=False, parallel_threshold=1000)[source]#

Marginalize shot memory

This function is multithreaded and will launch a thread pool with threads equal to the number of CPUs by default. You can tune the number of threads with the RAYON_NUM_THREADS environment variable. For example, setting RAYON_NUM_THREADS=4 would limit the thread pool to 4 threads.

Paramètres:
  • memory (List[str] | ndarray) – The input memory list, this is either a list of hexadecimal strings to be marginalized representing measure level 2 memory or a numpy array representing level 0 measurement memory (single or avg) or level 1 measurement memory (single or avg).

  • indices (List[int] | None) – The bit positions of interest to marginalize over. If None (default), do not marginalize at all.

  • int_return (bool) – If set to True the output will be a list of integers. By default the return type is a bit string. This and hex_return are mutually exclusive and can not be specified at the same time. This option only has an effect with memory level 2.

  • hex_return (bool) – If set to True the output will be a list of hexadecimal strings. By default the return type is a bit string. This and int_return are mutually exclusive and can not be specified at the same time. This option only has an effect with memory level 2.

  • avg_data (bool) – If a 2 dimensional numpy array is passed in for memory this can be set to True to indicate it’s a avg level 0 data instead of level 1 single data.

  • parallel_threshold (int) – The number of elements in memory to start running in multiple threads. If len(memory) is >= this value, the function will run in multiple threads. By default this is set to 1000.

Renvoie:

The list of marginalized memory

Type renvoyé:

marginal_memory

Lève:

ValueError – if both int_return and hex_return are set to True

Distributions#

ProbDistribution(data[, shots])

A generic dict-like class for probability distributions.

QuasiDistribution(data[, shots, ...])

A dict-like class for representing quasi-probabilities.

Expectation values#

qiskit.result.sampled_expectation_value(dist, oper)[source]#

Computes expectation value from a sampled distribution

Note that passing a raw dict requires bit-string keys.

Paramètres:
Renvoie:

The expectation value

Type renvoyé:

float

Lève:

QiskitError – if the input distribution or operator is an invalid type

Mitigation#

BaseReadoutMitigator()

Base readout error mitigator class.

CorrelatedReadoutMitigator(assignment_matrix)

N-qubit readout error mitigator.

LocalReadoutMitigator([assignment_matrices, ...])

1-qubit tensor product readout error mitigator.