cirq_google.workflow.RandomDevicePlacer
Inherits From: QubitPlacer
cirq_google.workflow.RandomDevicePlacer(
topo_node_to_qubit_func: Callable[[Any], cirq.Qid] = cirq_google.workflow.qubit_placement.default_topo_node_to_qubit
)
Args |
topo_node_to_qubit_func
|
A function that maps from cirq.NamedTopology nodes
to cirq.Qid . There is a correspondence between nodes and the "abstract" Qids
used to construct the un-placed circuit. cirq.get_placements returns a dictionary
mapping from node to Qid. We use this function to transform it into a mapping
from "abstract" Qid to device Qid. By default: nodes which are tuples correspond
to cirq.GridQubit s; otherwise cirq.LineQubit .
|
Methods
place_circuit
View source
place_circuit(
circuit: 'cirq.AbstractCircuit',
problem_topology: 'cirq.NamedTopology',
shared_rt_info: 'cg.SharedRuntimeInfo',
rs: np.random.RandomState
) -> Tuple['cirq.FrozenCircuit', Dict[Any, 'cirq.Qid']]
Place a circuit with a given topology onto a device via cirq.get_placements
with randomized selection of the placement each time.
This requires device information to be present in shared_rt_info
.
Args |
circuit
|
The circuit.
|
problem_topology
|
The topologies (i.e. connectivity) of the circuit.
|
shared_rt_info
|
A cg.SharedRuntimeInfo object that contains a device attribute
of type cirq.Device to enable placement.
|
rs
|
A RandomState as a source of randomness for random placements.
|
Returns |
A tuple of a new frozen circuit with the qubits placed and a mapping from input
qubits or nodes to output qubits.
|
Raises |
ValueError
|
If shared_rt_info does not have a device field.
|
__eq__
View source
__eq__(
other
)
Return self==value.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-06-27 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-06-27 UTC."],[],[]]