qiskit/tools/qcvv/tomography.py
def tomography_data(results, name, tomoset):
    """
    Return a results dict for a state or process tomography experiment.

    Args:
        results (Result): Results from execution of a process tomography
            circuits on a backend.
        name (string): The name of the circuit being reconstructed.
        tomoset (tomography_set): the dict of tomography configurations.

    Returns:
        list: A list of dicts for the outcome of each process tomography
        measurement circuit.
    """

    labels = tomography_circuit_names(tomoset, name)
    circuits = tomoset['circuits']
    data = []
    prep = None
    for j, _ in enumerate(labels):
        counts = marginal_counts(results.get_counts(labels[j]),
                                 tomoset['qubits'])
        shots = sum(counts.values())
        meas = circuits[j]['meas']
        prep = circuits[j].get('prep', None)
        meas_qubits = sorted(meas.keys())
        if prep:
            prep_qubits = sorted(prep.keys())
        circuit = {}
        for c in counts.keys():
            circuit[c] = {}
            circuit[c]['meas'] = [(meas[meas_qubits[k]], int(c[-1 - k]))
                                  for k in range(len(meas_qubits))]
            if prep:
                circuit[c]['prep'] = [prep[prep_qubits[k]]
                                      for k in range(len(prep_qubits))]
        data.append({'counts': counts, 'shots': shots, 'circuit': circuit})

    ret = {'data': data, 'meas_basis': tomoset['meas_basis']}
    if prep:
        ret['prep_basis'] = tomoset['prep_basis']
    return ret
def tomography_data(results, name, tomoset):
    labels = tomography_circuit_names(tomoset, name)
    circuits = tomoset['circuits']
    data = []
    prep = None
    for j, _ in enumerate(labels):
        counts = marginal_counts(results.get_counts(labels[j]),
                                 tomoset['qubits'])
        shots = sum(counts.values())
        meas = circuits[j]['meas']
        prep = circuits[j].get('prep', None)
        meas_qubits = sorted(meas.keys())
        if prep:
            prep_qubits = sorted(prep.keys())
        circuit = {}
        for c in counts.keys():
            circuit[c] = {}
            circuit[c]['meas'] = [(meas[meas_qubits[k]], int(c[-1 - k]))
                                  for k in range(len(meas_qubits))]
            if prep:
                circuit[c]['prep'] = [prep[prep_qubits[k]]
                                      for k in range(len(prep_qubits))]
        data.append({'counts': counts, 'shots': shots, 'circuit': circuit})

    ret = {'data': data, 'meas_basis': tomoset['meas_basis']}
    if prep:
        ret['prep_basis'] = tomoset['prep_basis']
    return ret
def tomography_data ( results , name , tomoset ) : labels = tomography_circuit_names ( tomoset , name ) circuits = tomoset [ 'circuits' ] data = [ ] prep = None for j , _ in enumerate ( labels ) : counts = marginal_counts ( results . get_counts ( labels [ j ] ) , tomoset [ 'qubits' ] ) shots = sum ( counts . values ( ) ) meas = circuits [ j ] [ 'meas' ] prep = circuits [ j ] . get ( 'prep' , None ) meas_qubits = sorted ( meas . keys ( ) ) if prep : prep_qubits = sorted ( prep . keys ( ) ) circuit = { } for c in counts . keys ( ) : circuit [ c ] = { } circuit [ c ] [ 'meas' ] = [ ( meas [ meas_qubits [ k ] ] , int ( c [ - 1 - k ] ) ) for k in range ( len ( meas_qubits ) ) ] if prep : circuit [ c ] [ 'prep' ] = [ prep [ prep_qubits [ k ] ] for k in range ( len ( prep_qubits ) ) ] data . append ( { 'counts' : counts , 'shots' : shots , 'circuit' : circuit } ) ret = { 'data' : data , 'meas_basis' : tomoset [ 'meas_basis' ] } if prep : ret [ 'prep_basis' ] = tomoset [ 'prep_basis' ] return ret
Return a results dict for a state or process tomography experiment.

    Args:
        results (Result): Results from execution of a process tomography
            circuits on a backend.
        name (string): The name of the circuit being reconstructed.
        tomoset (tomography_set): the dict of tomography configurations.

    Returns:
        list: A list of dicts for the outcome of each process tomography
        measurement circuit.
Return a results dict for a state or process tomography experiment .