Skip to main contentIBM Quantum Documentation

Result

qiskit.result.Result(backend_name, backend_version, qobj_id, job_id, success, results, date=None, status=None, header=None, **kwargs) GitHub(opens in a new tab)

Bases: object(opens in a new tab)

Model for Results.

backend_name

backend name.

Type

str(opens in a new tab)

backend_version

backend version, in the form X.Y.Z.

Type

str(opens in a new tab)

qobj_id

user-generated Qobj id.

Type

str(opens in a new tab)

job_id

unique execution id from the backend.

Type

str(opens in a new tab)

success

True if complete input qobj executed correctly. (Implies each experiment success)

Type

bool(opens in a new tab)

results

corresponding results for array of experiments of the input qobj

Type

list(opens in a new tab)[ExperimentResult]


Methods

data

data(experiment=None)

Get the raw data for an experiment.

Note this data will be a single classical and quantum register and in a format required by the results schema. We recommend that most users use the get_xxx method, and the data will be post-processed for the data type.

Parameters

experiment (str(opens in a new tab) orQuantumCircuit orSchedule orint(opens in a new tab) or None) – the index of the experiment. Several types are accepted for convenience:: * str: the name of the experiment. * QuantumCircuit: the name of the circuit instance will be used. * Schedule: the name of the schedule instance will be used. * int: the position of the experiment. * None: if there is only one experiment, returns it.

Returns

A dictionary of results data for an experiment. The data depends on the backend it ran on and the settings of meas_level, meas_return and memory.

OpenQASM backends return a dictionary of dictionary with the key ‘counts’ and with the counts, with the second dictionary keys containing a string in hex format (0x123) and values equal to the number of times this outcome was measured.

Statevector backends return a dictionary with key ‘statevector’ and values being a list[list[complex components]] list of 2^num_qubits complex amplitudes. Where each complex number is represented as a 2 entry list for each component. For example, a list of [0.5+1j, 0-1j] would be represented as [[0.5, 1], [0, -1]].

Unitary backends return a dictionary with key ‘unitary’ and values being a list[list[list[complex components]]] list of 2^num_qubits x 2^num_qubits complex amplitudes in a two entry list for each component. For example if the amplitude is [[0.5+0j, 0-1j], …] the value returned will be [[[0.5, 0], [0, -1]], …].

The simulator backends also have an optional key ‘snapshots’ which returns a dict of snapshots specified by the simulator backend. The value is of the form dict[slot: dict[str: array]] where the keys are the requested snapshot slots, and the values are a dictionary of the snapshots.

Return type

dict(opens in a new tab)

Raises

QiskitError – if data for the experiment could not be retrieved.

from_dict

classmethod from_dict(data)

Create a new ExperimentResultData object from a dictionary.

Parameters

data (dict(opens in a new tab)) – A dictionary representing the Result to create. It will be in the same format as output by to_dict().

Returns

The Result object from the input dictionary.

Return type

Result

get_counts

get_counts(experiment=None)

Get the histogram data of an experiment.

Parameters

experiment (str(opens in a new tab) orQuantumCircuit orSchedule orint(opens in a new tab) or None) – the index of the experiment, as specified by data([experiment]).

Returns

a dictionary or a list of dictionaries. A dictionary has the counts for each qubit with the keys containing a string in binary format and separated according to the registers in circuit (e.g. 0100 1110). The string is little-endian (cr[0] on the right hand side).

Return type

dict(opens in a new tab)[str(opens in a new tab), int(opens in a new tab)] or list(opens in a new tab)[dict(opens in a new tab)[str(opens in a new tab), int(opens in a new tab)]]

Raises

QiskitError – if there are no counts for the experiment.

get_memory

get_memory(experiment=None)

Get the sequence of memory states (readouts) for each shot The data from the experiment is a list of format [‘00000’, ‘01000’, ‘10100’, ‘10100’, ‘11101’, ‘11100’, ‘00101’, …, ‘01010’]

Parameters

experiment (str(opens in a new tab) orQuantumCircuit orSchedule orint(opens in a new tab) or None) – the index of the experiment, as specified by data().

Returns

Either the list of each outcome, formatted according to registers in circuit or a complex numpy np.ndarray with shape:

meas_levelmeas_returnshape
0singlenp.ndarray[shots, memory_slots, memory_slot_size]
0avgnp.ndarray[memory_slots, memory_slot_size]
1singlenp.ndarray[shots, memory_slots]
1avgnp.ndarray[memory_slots]
2memory=Truelist

Return type

List[str(opens in a new tab)] or np.ndarray

Raises

QiskitError – if there is no memory data for the circuit.

get_statevector

get_statevector(experiment=None, decimals=None)

Get the final statevector of an experiment.

Parameters

Returns

list of 2^num_qubits complex amplitudes.

Return type

list(opens in a new tab)[complex(opens in a new tab)]

Raises

QiskitError – if there is no statevector for the experiment.

get_unitary

get_unitary(experiment=None, decimals=None)

Get the final unitary of an experiment.

Parameters

Returns

list of 2^num_qubits x 2^num_qubits complex

amplitudes.

Return type

list(opens in a new tab)[list(opens in a new tab)[complex(opens in a new tab)]]

Raises

QiskitError – if there is no unitary for the experiment.

to_dict

to_dict()

Return a dictionary format representation of the Result

Returns

The dictionary form of the Result

Return type

dict(opens in a new tab)

Was this page helpful?