cirq.AbstractInitialMapper
Base class for creating custom initial mapping strategies.
An initial mapping strategy is a placement strategy that places logical qubit variables in an
input circuit onto physical qubits that correspond to a specified device. This placment can be
thought of as a mapping k -> m[k] where k is a logical qubit and m[k] is the physical qubit it
is mapped to. Any initial mapping strategy must satisfy two constraints:
1. all logical qubits must be placed on the device if the number of logical qubits is <=
than the number of physical qubits.
2. if two logical qubits interact (i.e. there exists a 2-qubit operation on them) at any
point in the input circuit, then they must lie in the same connected components of the
device graph induced on the physical qubits in the initial mapping.
Methods
initial_mapping
View source
@abc.abstractmethod
initial_mapping(
circuit: 'cirq.AbstractCircuit'
) -> Dict['cirq.Qid', 'cirq.Qid']
Maps the logical qubits of a circuit onto physical qubits on a device.
Args |
circuit
|
the input circuit with logical qubits.
|
Returns |
qubit_map
|
the initial mapping of logical qubits to physical qubits.
|
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.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "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."],[],[]]