def chip_as_adjacency_list(device: 'cirq.google.XmonDevice',
                           ) -> Dict[GridQubit, List[GridQubit]]:
    """Gives adjacency list representation of a chip.

    The adjacency list is constructed in order of above, left_of, below and
    right_of consecutively.

    Args:
        device: Chip to be converted.

    Returns:
        Map from nodes to list of qubits which represent all the neighbours of
        given qubit.
    """
    c_set = set(device.qubits)
    c_adj = {} # type: Dict[GridQubit, List[GridQubit]]
    for n in device.qubits:
        c_adj[n] = []
        for m in [above(n), left_of(n), below(n), right_of(n)]:
            if m in c_set:
                c_adj[n].append(m)
    return c_adj
def chip_as_adjacency_list ( device : 'cirq.google.XmonDevice' , ) -> Dict [ GridQubit , List [ GridQubit ] ] : c_set = set ( device . qubits ) c_adj = { } for n in device . qubits : c_adj [ n ] = [ ] for m in [ above ( n ) , left_of ( n ) , below ( n ) , right_of ( n ) ] : if m in c_set : c_adj [ n ] . append ( m ) return c_adj
Gives adjacency list representation of a chip.

    The adjacency list is constructed in order of above, left_of, below and
    right_of consecutively.

    Args:
        device: Chip to be converted.

    Returns:
        Map from nodes to list of qubits which represent all the neighbours of
        given qubit.