Qubit placement using minimum-weight perfect matching

MWPM optimizes qubit placement by minimizing transportation time and heating in quantum computing systems, enhancing quantum circuit efficiency and performance.

WO2026019588A1PCT designated stage Publication Date: 2026-01-22QUANTINUUM LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/036604
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-15
Filing Date
2025-07-07
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Transporting qubits in quantum computing systems is time-consuming and inefficient due to the challenges of managing heating effects, and existing methods do not effectively minimize the run time spent on qubit transportation between layers.

Method used

The use of minimum-weight perfect matching (MWPM) to assign qubit positions, where weights are determined based on transportation requirements, such as distance or number of locations, to minimize the sum of weights and optimize qubit placement across layers.

Benefits of technology

This approach reduces the transportation time and heating effects by encouraging moderate-length transportation paths, thereby improving quantum circuit compilation and computation performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025036604_22012026_PF_FP_ABST
    Figure US2025036604_22012026_PF_FP_ABST
Patent Text Reader

Abstract

A classical computing entity determines placement of quantum gates of a quantum circuit during a compiling process. The computing entity obtains previous layer location information indicating respective locations of qubits during a previous layer of the quantum circuit and obtains particular layer pair information indicating pairs of qubits to be gated together during the particular layer. The computing entity determines, for each pair of qubits, respective weights for each location of a plurality of locations defined at least in part by the quantum processor. The respective weights are determined based on a transportation requirement of transporting pairs of qubits from previous locations during the previous layer to a respective location of the plurality of locations. Based on the respective weights, the computing entity determines particular layer location information by assigning each pair of qubits to a respective particular layer location so as to minimize a sum of weights.
Need to check novelty before this filing date? Find Prior Art

Description

QUBIT PLACEMENT USING MINIMUM-WEIGHT PERFECT MATCHINGCROSS-REFERENCE TO RELATED APPLICATION(S)

[0001] This application claims priority to U.S. Application No. 63 / 671,540, filed July 15, 2024, the content of which is incorporated herein by reference in its entirety.TECHNICAL FIELD

[0002] Embodiments described herein generally relate to use of minimum-weight perfect matching (MWPM) to assign placement of qubits. For example, various embodiments relate to the compiling of a quantum circuit for execution by a quantum computer having transportable qubits.BACKGROUND

[0003] Some quantum computing platforms include qubits that are transportable. For example, a qubit may be transported from one physical location to another physical location within the quantum processor. However, transporting qubits and managing the heating effects of the transportation of the qubits can be time consuming. Through applied effort, ingenuity, and innovation many deficiencies of such systems have been solved by developing solutions that are structured in accordance with the embodiments of the present invention, many examples of which are described in detail herein.BRIEF SUMMARY OF EXAMPLE EMBODIMENTS

[0004] Example embodiments provide methods, systems, apparatuses, computer program products, and / or the like for determining and / or assigning qubit placement using minimumweight perfect matching (MWPM). For example, during compilation of a quantum circuit, the quantum circuit is segmented into layers, with each layer including operations that may be performed in parallel and / or without having to reorder the qubits during performance of the layer. The qubits are assigned to first positions for a first layer and then the qubits are assigned to second positions for a second layer such that transportation of the qubits from respective first positions to respective second positions is efficient. In various embodiments, the assignment of qubit positions for at least one layer is determined using MWPM.

[0005] According to a first aspect, a method for determining placement of quantum gates of a quantum circuit is provided. In an example embodiment, the method includes obtaining a previous layer location information. The previous layer location information indicatesrespective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit. The method further includes obtaining particular layer pair information. The particular layer pair information indicates pairs of the plurality of qubits to be gated together during the particular layer. The method further includes determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by the quantum processor. The respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations. The method further includes, based on the respective weights, determining particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

[0006] In an example embodiment, the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location.

[0007] In an example embodiment, the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location to the respective location or a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair.

[0008] In an example embodiment, the weight is determined by raising a value corresponding to the transportation requirement to a power that is greater than one.

[0009] In an example embodiment, locations of the plurality of locations are in one of a onedimensional layout or a two-dimensional layout.

[0010] In an example embodiment, determining the particular layer location information is performed using minimum -weight perfect matching (MWPM).

[0011] In an example embodiment, the method further includes determining alternative method particular layer location information, wherein the alternative method particular layer location information indicating respective locations assigned to each of the pairs of the plurality of qubits to be gated together during the particular layer using an alternative method; determining a first cost associated with the particular layer information and a second cost associated with the alternative method particular layer location information; andselecting one of the particular layer information or the alternative method particular layer location information based at least in part on the first cost and the second cost.

[0012] In an example embodiment, the first cost is a total transportation time of transporting the plurality of qubits from a configuration corresponding to the previous layer location information to a configuration corresponding to the particular layer location information and the second cost is a total transportation time of transporting the plurality of qubits from the configuration corresponding to the previous layer location information to a configuration corresponding to the alternative method particular layer location information.

[0013] In an example embodiment, the method further includes obtaining next layer pair information, wherein the next layer pair information indicates pairs of the plurality of qubits to be gated together during a next layer of the quantum circuit, the next layer being directly subsequent to the particular layer; determining, for each pair of the plurality of qubits to be gated together during the next layer, respective next layer weights for each location of the plurality of locations based at least in part on the particular layer location information and the next layer pair information; and based on the respective next layer weights, determining next layer location information by assigning each pair of the plurality of qubits to a respective next layer location of the plurality of locations based at least in part on the respective next layer weights.

[0014] In an example embodiment, the method further includes wherein causing transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

[0015] According to another aspect, a method for determining placement of quantum gates of a quantum circuit is provided. In an example embodiment, the method includes using a first method to determine a first method set of location information, the first method set of location information comprising location information for each layer of the quantum circuit; and using a second method to determine a second method set of location information, the second method set of location information comprising location information for each layer of the quantum circuit. The first method set of location information is used as input for the second method. One of the first method or the second method is transportation requirementbased minimum weight perfect matching (MWPM).

[0016] In an example embodiment, the first method and the second method are different methods.

[0017] In an example embodiment, first layer location information of the first method set of location information is used as initial first layer location information for performance of thesecond method.

[0018] In an example embodiment, determining particular layer location information using the transportation requirement-based MWPM comprises obtaining a previous layer location information, the previous layer location information indicating respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit; obtaining particular layer pair information, the particular layer pair information indicating pairs of the plurality of qubits to be gated together during the particular layer; determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by the quantum processor, wherein the respective weights are determined based at least in part on transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations; and based on the respective weights, determining the particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

[0019] In an example embodiment, one of the first method or the second method is a Sugiyama method.

[0020] According to another aspect, an apparatus (e.g., a classical computing entity) configured to determine placement of quantum gates of a quantum circuit is provided. In an example embodiment, the apparatus comprises at least one processor and a non-transitory memory storing computer-executable instructions. The computer-executable instructions are configured to, when executed by the at least one processor, cause the apparatus to perform at least obtaining a previous layer location information. The previous layer location information indicates respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit. The computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform obtaining particular layer pair information. The particular layer pair information indicates pairs of the plurality of qubits to be gated together during the particular layer. The computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by the quantumprocessor. The respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations. The computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform, based on the respective weights, determining particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

[0021] In an example embodiment, the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location.

[0022] In an example embodiment, the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location to the respective location or a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair.

[0023] In an example embodiment, the weight is determined by raising a value corresponding to the transportation requirement to a power that is greater than one.

[0024] In an example embodiment, locations of the plurality of locations are in one of a onedimensional layout or a two-dimensional layout.

[0025] In an example embodiment, determining the particular layer location information is performed using minimum -weight perfect matching (MWPM).

[0026] In an example embodiment, the computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform determining alternative method particular layer location information, wherein the alternative method particular layer location information indicating respective locations assigned to each of the pairs of the plurality of qubits to be gated together during the particular layer using an alternative method; determining a first cost associated with the particular layer information and a second cost associated with the alternative method particular layer location information; and selecting one of the particular layer information or the alternative method particular layer location information based at least in part on the first cost and the second cost.

[0027] In an example embodiment, the first cost is a total transportation time of transporting the plurality of qubits from a configuration corresponding to the previous layer locationinformation to a configuration corresponding to the particular layer location information and the second cost is a total transportation time of transporting the plurality of qubits from the configuration corresponding to the previous layer location information to a configuration corresponding to the alternative method particular layer location information.

[0028] In an example embodiment, the computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform obtaining next layer pair information, wherein the next layer pair information indicates pairs of the plurality of qubits to be gated together during a next layer of the quantum circuit, the next layer being directly subsequent to the particular layer; determining, for each pair of the plurality of qubits to be gated together during the next layer, respective next layer weights for each location of the plurality of locations based at least in part on the particular layer location information and the next layer pair information; and based on the respective next layer weights, determining next layer location information by assigning each pair of the plurality of qubits to a respective next layer location of the plurality of locations based at least in part on the respective next layer weights.

[0029] In an example embodiment, the computer-executable instructions are further configured to, when executed by the at least one processor, cause the apparatus to perform wherein causing transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

[0030] In an example embodiment, the apparatus is configured to control operation of a confinement apparatus to cause transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

[0031] According to another aspect, an apparatus (e.g., a classical computing entity) configured to determine placement of quantum gates of a quantum circuit is provided. In an example embodiment, the apparatus comprises at least one processor and a non-transitory memory storing computer-executable instructions. The computer-executable instructions are configured to, when executed by the at least one processor, cause the apparatus to perform at least using a first method to determine a first method set of location information, the first method set of location information comprising location information for each layer of the quantum circuit; and using a second method to determine a second method set of location information, the second method set of location information comprising location information for each layer of the quantum circuit. The first method set of location information is used as input for the second method. One of the first method or the second method is transportation requirement-based minimum weight perfect matching (MWPM).

[0032] In an example embodiment, the first method and the second method are different methods.

[0033] In an example embodiment, first layer location information of the first method set of location information is used as initial first layer location information for performance of the second method.

[0034] In an example embodiment, determining particular layer location information using the transportation requirement-based MWPM comprises obtaining a previous layer location information, the previous layer location information indicating respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit; obtaining particular layer pair information, the particular layer pair information indicating pairs of the plurality of qubits to be gated together during the particular layer; determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by the quantum processor, wherein the respective weights are determined based at least in part on transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations; and based on the respective weights, determining the particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

[0035] In an example embodiment, one of the first method or the second method is a Sugiyama method.

[0036] In an example embodiment, the apparatus is configured to control operation of a confinement apparatus to cause transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

[0037] According to another aspect, a computer program product configured to cause a classical computing entity to determine placement of quantum gates of a quantum circuit is provided. In an example embodiment, the computer program product includes at least one non-transitory computer-readable medium storing computer-executable instructions. The computer-executable instructions configured to, when executed by a processor of an apparatus, cause the apparatus to perform a method disclosed herein.BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

[0038] Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

[0039] Figure 1 provides block diagram of an example quantum charge-coupled device (QCCD)-based quantum computer, in accordance with an example embodiment.

[0040] Figure 2A provides a schematic of an example plurality of locations in a onedimensional layout, according to an example embodiment.

[0041] Figure 2B provides a schematic of an example plurality of locations in a two- dimensional layout, according to an example embodiment.

[0042] Figure 3 provides a circuit diagram of an example portion of a circuit, example previous layer location information, and particular layer pair information, according to an example embodiment.

[0043] Figure 4 provides a flowchart illustrating processes and / or procedures performed by a computing entity, for example, for assigning qubit positions, according to an example embodiment.

[0044] Figure 5 provides a flowchart illustrating processes and / or procedures performed by a computing entity, for example, for assigning qubit positions using a combination of MWPM and an alternative method on a layer-by-layer basis, according to an example embodiment.

[0045] Figure 6 provides a flowchart illustrating processes and / or procedures performed by a computing entity, for example, for assigning qubit positions for a quantum circuit using a combination of MWPM and an alternative method on a circuit basis, according to an example embodiment.

[0046] Figure 7 provides a schematic diagram of an example controller of a quantum computer comprising a confinement apparatus, in accordance with an example embodiment.

[0047] Figure 8 provides a schematic diagram of an example computing entity of a quantum computer system that may be used in accordance with an example embodiment.DETAILED DESCRIPTION OF SOME EXAMPLE EMBODIMENTS

[0048] The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. The term “or” (also denoted “ / ”) is used herein in both the alternative and conjunctive sense, unlessotherwise indicated. The terms “illustrative” and “exemplary” are used to be examples with no indication of quality level. The terms “substantially,” “generally,” and “approximately” refer to within appropriate engineering and / or manufacturing tolerances and / or within user measurement capabilities, unless otherwise indicated. Like numbers refer to like elements throughout.

[0049] Example embodiments provide methods, systems, apparatuses, computer program products, and / or the like for determining and / or assigning qubit placement using minimumweight perfect matching (MWPM). In various embodiments, the assignment of qubit positions for at least one layer of a quantum circuit is determined using MWPM.

[0050] A perfect matching of a graph is a matching in which every vertex of the graph (e.g., plurality of locations) is incident to exactly one edge of the matching. Minimum weight perfect matching is a perfect matching where each edge is assigned a weight and a perfect matching is determined such that the total weight (e.g., the sum of the weights of the edges) is minimized.

[0051] For example, a quantum circuit may be generated that is configured to perform a particular quantum computation. The quantum circuit comprises sequences of quantum logic gates to be performed on a plurality of qubits. Before the quantum circuit is able to be performed by a quantum computer, the quantum circuit is compiled. During compilation of the quantum circuit, the sequences of quantum logic gates are segmented into layers that can be performed sequentially by the quantum computer. Each layer includes at most one two- qubit gate for each qubit. For each layer, pairs of qubits to be gated together are assigned to positions defined at least in part by the quantum processor.

[0052] For example, the qubits are assigned to first positions for a first layer and then the qubits are assigned to second positions for a second layer. The qubits will need to be transported from respective first positions to respective second positions between performance of the first layer and the second layer. For example, a first qubit may be gated with a second qubit during one layer and then gated with a third qubit during the next layer. Between performance of the layers, the first qubit will need to be transported from adjacent to the second qubit to adjacent to the third qubit. The between layer transportation processes may amount to a significant amount of run time of the quantum computer and may contribute to heating of the qubits.

[0053] Overall, it is desired to minimize the transport time for a configuration of gates of a quantum circuit. However, such a problem is (likely) an NP-hard combinatorial problem. As such, all existing methods and future methods that are scalable are just heuristics, for whichsome can perform better than others. For example, conventional qubit position assignment techniques may not minimize the amount of run time of the quantum computer that is spent transporting qubits in between performance of layers. For example, the qubit position assignments may be determined such that respective distances that most qubits are transported between layers are relatively short but some qubits are caused to travel large distances. However, the transportation time and required cooling time are determined based on the longest distance traveled by a qubit between consecutive layer positions. Thus, conventional qubit position assignment techniques may still result in significant transportation times. Therefore, technical problems regarding qubit placement assignment exist.

[0054] Various embodiments provide technical solutions to these technical challenges. For example, various embodiments provide an improved technique for assigning qubit positions for one or more layers of a quantum circuit. For example, given an initial configuration of a set of qubits (e.g., based on the configuration of the qubits for the previous layer) the respective destination locations of the qubits may be determined by assigning pairs of qubits to destination locations using a MWPM technique. In various embodiments, weights for each location of a plurality of locations defined by the quantum processor are determined for each pair of qubits to be gated together during the layer.

[0055] The weights are determined based at least in part on a transportation requirement of transporting at least one qubit of each pair from a previous location from the previous layer to a respective location of the plurality of locations. For example, the transportation requirement may be a distance traveled by the qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location. In some embodiments, the weight is determined, at least in part, by raising the transportation requirement to a power greater than one. This results in longer travel paths having significantly larger weights than shorter travel paths. For example, by determining the weight for a pair of qubits for a respective location by raising the transportation requirement to a power greater than one, the lowest total weight for the layer may include moderate length transportation paths for the qubits, but is unlikely to include any transportation paths that are significantly longer than the mean or median transportation path. This results in the transportation time for transporting the qubits between positions of one layer and the positions of the next layer being minimized.

[0056] Therefore, various embodiments provide improvements to quantum circuit compilation, quantum computation performance, and / or quantum computing.Example Quantum Computer System

[0057] Figure 1 provides a block diagram of a quantum computer system 100 that uses transportable qubits that may be used to perform a quantum circuit compiled using MWPM qubit position assignments. The example quantum computer system 100 is a quantum charge-coupled device (QCCD) -based quantum computer system that includes a confinement apparatus 50 configured for confining a plurality of quantum and / or atomic objects for use as qubits.

[0058] In various embodiments, the quantum computer system 100 comprises a classical (e.g., semiconductor-based) computing entity 10 and a quantum computer 110. In various embodiments, the quantum computer 110 comprises a controller 30 and a quantum processor 115. In various embodiments, the quantum processor 115 includes a cryogenic and / or vacuum chamber 40 enclosing a confinement apparatus 50, one or more manipulation sources 64 (e.g., 64A, 64B, 64C), one or more voltage sources 70, an optics collection system (not shown), and / or the like.

[0059] In various embodiments, the quantum computer 110 comprises a plurality of voltage sources 70 (e.g., such as arbitrary waveform generators (AWGs), digital-analog converters (DACs), and / or the like) used to control operation of the confinement apparatus 50. For example, the controller 30 is configured to control operation of the plurality of voltage sources 70 so as to control the operation of the confinement apparatus 50. For example, the controller 30 may control operation of the voltage sources 70 such that the voltage sources 70 are operated to cause performance of particular transportation operations configured to transport qubits between various positions. For example, the controller 30 may control operation of the confinement apparatus 50 to cause transportation of one or more qubits in accordance with and / or based at least in part on the particular layer information. For example, the controller 30 may control operation of the confinement apparatus 50 to cause qubits to be transported to the respective particular layer locations of the particular layer information.

[0060] In various embodiments, the confinement apparatus 50 is an ion trap. For example, the confinement apparatus 50 may be a surface ion trap, Paul ion trap, and / or the like. For example, an electrode layer of the confinement apparatus 50 comprises a plurality of electrodes. In an example embodiment, the confinement apparatus 50 comprises at least one radio frequency (RF) electrodes configured to receive an RF voltage signal generated by at least one of the voltage sources 70 applied thereto. Responsive to the RF voltage signal beingapplied to the at least one RF electrode, a trapping pseudopotential configured to confine atomic objects is generated. For example, the at least one RF electrode is operable to generate a confinement potential configured to confine atomic objects.

[0061] In an example embodiment, the one or more manipulation sources 64 comprise one or more lasers (e.g., optical lasers, and / or the like), microwave field sources, and / or the like. In various embodiments, the one or more manipulation sources 64 are configured to generate and provide manipulation signals that are used to manipulate and / or cause a controlled quantum state evolution of one or more atomic objects confined by the confinement apparatus 50. For example, in an example embodiment, wherein the one or more manipulation sources 64 comprise one or more lasers, the lasers may provide one or more laser beams to the confinement apparatus 50 within the cryogenic and / or vacuum chamber 40. In another example, the manipulation sources 64 may include one or more microwave sources configured to provide microwave signals to the confinement apparatus 50.

[0062] In various embodiments, the manipulation sources 64 may be used to generate manipulation signals that are used to perform quantum logic operations, shelving / deshelving operations, measurement operations, cooling operations, state preparation operations, and / or the like. In an example embodiment, the one or more manipulation sources 64 each provide a laser beam and / or the like to the confinement apparatus 50 via a corresponding beam path system 66 (e.g., 66A, 66B, 66C). For example, a beam path system 66 is configured to provide a manipulation signal generated by a respective manipulation source 64 to a respective target location 205 (e.g., 205A, 205B, 205C, 205D shown in Figures 2A and 2B) defined at least in part by the confinement apparatus 50. In various embodiments, at least one beam path system 66 comprises a modulator configured to modulate the manipulation signal being provided to the confinement apparatus 50 via the beam path system 66. In various embodiments, the manipulation sources 64, active components of the beam path systems 66 (e.g., modulators and / or the like), and / or other components of the quantum processor 115 are controlled by the controller 30.

[0063] In various embodiments, the quantum computer 110 comprises an optics collection system. In various embodiments, the optics collection system 80 comprises one or more photodetectors (e.g., photodiodes, avalanche photodiodes, photomultiplier tubes, phototransistors charge-coupled devices (CCDs), complementary metal -oxide-semiconductor (CMOS) photon sensors, and / or the like) configured to detect photons fluoresced and / or emitted by qubit ions (e.g., during a measurement operation). The optics collection system may further include various optical components (e.g., lenses, reflectors, metasurfaces,waveguides, optical fibers, and / or the like) configured to direct photons fluoresced and / or emitted by atomic objects to respective photodetectors. The photodetectors are configured to generate and provide respective sensor signals that indicate and / or encode when and / or how many photons are detected thereby. The sensor signals are provided to the controller 30 for processing.

[0064] In various embodiments, a computing entity 10 is configured to allow a user to provide input to the quantum computer 110 (e.g., via a user interface of the computing entity 10) and receive, view, and / or the like output from the quantum computer 110. The computing entity 10 may be in communication with the controller 30 of the quantum computer 110 via one or more wired or wireless networks 20 and / or via direct wired and / or wireless communications. In an example embodiment, the computing entity 10 may translate, configure, format, and / or the like information / data, quantum computing algorithms, and / or the like into a computing language, executable instructions, command sets, and / or the like that the controller 30 can understand, execute, and / or implement.

[0065] In various embodiments, the controller 30 is configured to control voltage sources 70 controlling the operation of the confinement apparatus 50 and / or confinement and transport of atomic objects confined by the confinement apparatus 50; a cryogenic system and / or vacuum system controlling the temperature, pressure, and / or other environmental parameters within the cryogenic and / or vacuum chamber 40; manipulation sources 64; beam path systems 66; and / or other systems controlling the environmental conditions (e.g., temperature, humidity, pressure, and / or the like) within the cryogenic and / or vacuum chamber 40 and / or configured to manipulate and / or cause a controlled evolution of quantum states of one or more ions confined by the confinement apparatus 50. In various embodiments, the controller 30 is configured to receive sensor signals generated by photodetectors of the optics collection system.Example Qubit Position Assignment

[0066] In various embodiments, a quantum circuit is compiled such that the quantum circuit may be performed by a quantum computer. For example, the quantum circuit is organized and segmented into layers of operations that may be performed in parallel and / or without having to reorder the qubits during performance of the layer.

[0067] For each layer, pairs of qubits to be gated together are assigned to positions defined at least in part by the quantum processor. For example, Figure 2A illustrates an example onedimensional layout 200 of a plurality of locations 205 (e.g., 205 A, 205B, 205C, 205D) thatare connected to one another via a transport path 210. Figure 2B illustrates an example two- dimensional layout 250 of the plurality of locations 205 connected to one another via a transport path 255. The layout 200, 250 of the plurality of locations 205 is defined by the quantum processor 115 (e.g., the confinement apparatus 50). Various one-dimensional, two- dimensional, or three-dimensional layouts of the plurality of locations 205 may be used in various embodiments.

[0068] Each location 205 includes two positions 206 (e.g., 206L, 206R). Each qubit of a pair of qubits to be gated together is assigned to a respective position of the same location 205. In some embodiments, the position of a location to which a qubit is assigned is determined based at least in part on the two-qubit gate to be enacted on the pair of qubits.

[0069] For example, the compilation process includes determining placement and / or assignment of the quantum gates of a layer of the quantum circuit to respective locations. U.S. Patent No. 11,861,456, issued January 2, 2024, the content of which is incorporated herein by reference in its entirety, describes an example compilation of at least one layer or slice of a quantum circuit for a one-dimensional layout of locations. Various embodiments disclosed herein may be used to determine a target qubit position set, for example. For example, the placement of the quantum gates of a layer of the quantum circuit may be used to determine a target qubit position set. For example, the placement of the quantum gates of a layer of the quantum circuit may include assignment of respective position indices to the quantum gates of the layer of the quantum circuit.

[0070] Figure 3 provides three layers 305A, 305B, 305C of an example quantum circuit 300. In the illustrated embodiment, each layer includes a plurality of two-qubit gates 302. Each qubit (e.g., qubits 1, 2, 3, 4, 5, 6, 7, and 8) is included in only one pair of qubits to be gated in each layer. To determine placement of the two-qubit gates 302 at the locations 205 of the quantum processor 115 for a particular layer 305B, a computing entity 10 obtains previous layer location information 310. The previous layer location information 310 indicates the respective positions and / or locations of the qubits during a previous layer 305 A of the quantum circuit 300. For example, the qubit listed first in each pair has a previous position of the left position 206L of the given location 205 and the qubit listed second in each pair has a previous position of the right position 206R of the given location 205. The previous layer 305A directly precedes the particular layer 305B of the quantum circuit 300. For example, there are no layers in between the previous layer 305 A and the particular layer 305B.

[0071] The computing entity also obtains particular layer pair information 315. The particular layer pair information 315 indicates pairs of qubits to be gated together during theparticular layer 305B. For example, the particular layer 305B of the quantum circuit 300 includes a two-qubit gate 302 performed on qubit 1 and qubit 4, another two-qubit gate performed on qubit 2 and qubit 3, another two-qubit gate performed on qubit 5 and qubit 8, and another two-qubit gate performed on qubit 6 and qubit 7.

[0072] A respective weight is determined for each pair of the plurality of qubits to be gated together during the particular layer 305B for each location 205 of the plurality of locations. The respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location and / or position of the at least one qubit during the previous layer 305 A to a respective position of a respective location 205 of the plurality of locations. In various embodiments, the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location, a number of locations and / or positions along a path from the previous location and / or position to the respective location and / or position, a number of swaps required for transporting a qubit from the previous location and / or position to the respective location and / or position, and / or the like. A swap is an operation where two qubits are re-ordered along the one-dimensional transport path. For example, a first qubit may be transported from a right position at location 205B to a left position at location 205C and a second qubit may be transported from a left position at location 205C to a right position at location 205B at the same time. A swap is the operation performed to cause the first qubit to pass by the second qubit.

[0073] In an example embodiment, the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location of the previous layer 305 A to the respective location 205, a maximum number of locations and / or positions along a path from the previous location and / or position to the respective location and / or position of the qubit of the pair, a maximum number of swaps required for transporting a qubit from the previous location to the respective location, and / or the like. For example, the weight may be determined based on a transportation requirement for the qubit of the qubit pair that has to travel the furthest to get to the respective location from its previous location. Table 1 illustrates the transportation requirements for transporting the qubits from the previous qubit locations and positions provided by the previous layer location information 310 to respective locations 205 (and positions) for the particular layer 305B, based on the particular layer pair information 315, in an example where the transportation requirement is the maximum or larger number of positions passed through by a transport path for the onedimensional layout 200.Table 1

[0074] For example, qubit 1 has a previous position / location of position 206L and location 205 A and qubit 4 has a previous position / location of the right position 206R of location 205B. Transportation of qubit 1 to the left position 206L of location 205 A and qubit 4 to the right position 206R of location 205 A is associated with a transportation requirement of two since qubit 1 does not need to move and qubit 4 has to pass through two intervening positions. Transportation of qubit 1 to the left position 206L of location 205B and qubit 4 to the right position 206R of location 205B is associated with a transportation requirement of two since qubit 4 does not need to move and qubit 1 has to pass through two intervening positions. Transportation of qubit 1 to the left position 206L of location 205C and qubit 4 to the right position 206R of location 205C is associated with a transportation requirement of four since qubit 1 has to pass through four intervening positions and qubit 4 only has to pass through two intervening positions. Transportation of qubit 1 to the left position 206L of location 205D and qubit 4 to the right position 206R of location 205D is associated with a transportation requirement of six since qubit 1 has to pass through six intervening positions and qubit 4 has to pass through only four intervening positions.

[0075] In various embodiments, the weight for a qubit pair corresponding to a respective location 205 is a function of the transportation requirement. For example, in an example embodiment, the weight for a qubit pair corresponding to a respective location 205 is determined based on raising the transportation requirement to a power that is greater than one (e.g., to the power of two, three, four, five, and / or the like). For example, Table 2 provides weights determined based on the transportation requirements shown in Table 1 where the weight for a qubit pair corresponding to a respective location 205 is the transportation requirement raised to the fourth power.Table 2

[0076] Particular layer location information is then determined by assigning each pair of qubits to a respective particular layer location 205 based on the weights. For example, the particular layer location information may be determined by assigning each pair of qubits to a respective particular layer location 205 so as to minimize a sum of the selected weights. In various embodiments, MWPM is used to assign each pair of qubits to a respective particular layer location based on the weights.

[0077] For example, qubit pair [1,4] may be assigned to location 205 A (with a weight of 16), qubit pair [2,3] may be assigned to location 205B (with a weight of 16), qubit pair [5,7] may be assigned to location 205D (with a weight of 16), and qubit pair [6,8] may be assigned to location 205C (with a weight of 81). This results in a total weight of 129 for the particular layer 305B.

[0078] Because the transportation requirement is raised to a power greater than one, longer transportation paths have significantly higher weights than shorter transportation paths, such that selection of short and moderate length transportation paths is encouraged. For example, raising the transportation requirement to a power greater than one to determine the weight encourages location and / or position assignments with a smaller variation in the weights. For example, selection of one large weight location and / or position assignment with the remainder of the location and / or position assignments associated with small weights is unlikely to provide a total weight that is smaller than selection of all moderate weight location and / or position assignments.

[0079] This process may be performed for each layer of the quantum circuit. For example, after determining the particular layer location information, the computing entity 10 may determine next layer location information for the next layer 305C. For example, next layer pair information may be obtained that indicates pairs of qubits to be gated together during thenext layer 305C of the quantum circuit. The next layer is directly subsequent to the particular layer 305B. Respective next layer weights are determined for each pair of qubits to be gated together during the next layer for each location 205 of the plurality of locations based on the particular layer location information and the next layer pair information. Next layer location information is then determined by assigning each pair of qubits to be gated together during the next layer 305C to a respective next layer location of the plurality of locations based at least in part on the respective next layer weights. For example, MWPM may be used to assign each pair of qubits to be gated together during the next layer 305C to a respective next layer location of the plurality of locations based at least in part in the respect next layer weights.

[0080] In various embodiments, the processes may be performed for each layer of the quantum circuit and then performed for each layer of the quantum circuit in a reverse order. For example, the process may be performed with the layer location information for layer i and the layer pair information for layer i+1 used to determine the layer location information for layer i+1. The process may then be performed with the layer location information for layer i+1 and the layer pair information for layer i used to determine the layer location information for layer i. The process may be iterated in forward pass, reverse pass manner until stop criteria are satisfied. In an example embodiment, the stop criteria are satisfied when a set number of iterations have been performed, a set amount of time has been spent performing the iterations, and / or the like.

[0081] In some embodiments, after completing each forward or backward pass of the process (e.g., the layer location information has been determined for each layer of the quantum circuit) a cost may be determined for that configuration of the quantum circuit. In various embodiments, the cost is a total time required for performing the transportation operations indicated by the layer location information for each of the layers (e.g., to perform the transportation operations to transport qubits from locations indicated by layer location information for layer i to the locations indicated by layer location information for layer i+1 summed for all layers i). Once the stop criteria have been satisfied, the configuration (e.g., set of layer location information for each layer i) that is associated with the lowest cost is identified and used to generate the command sets to be used to perform the transportation operations.

[0082] In some embodiments, layer location information for layer i is determined using transportation requirement-based weights MWPM. Layer location information for layer i may also be determined using an alternative method (e.g., Sugiyama method, a methoddescribed by U.S. Patent No. 11,861,456, issued January 2, 2024, and / or another gate or qubit location assignment method). Respective costs are determined for the layer location information for layer i determined using the transportation requirement-based weights MWPM method and the layer location information for layer i determined using the alternative method. The layer location information for layer i that provides the lower cost is selected for layer i. In an example embodiment, the cost is the transportation time (e.g., the time required to perform the transportation operations to transport qubits from locations indicated by layer location information for layer i-1 to the locations indicated by layer location information for layer i, for just layer i).

[0083] In some embodiments, a first set of layer location information for each layer of the quantum circuit is determined using a first method (e.g., an alternative method or the transportation requirement-based weights MWPM method) and a first cost corresponding toward the first set of layer location information is determined. The layer location information for the first layer of the quantum circuit from the first set of layer location information may then be used to determine a second set of layer location information using a second method (e.g., the other of the alternative method or the transportation requirementbased weights MWPM method). A second cost corresponding to the second set of layer location information is determined. Based on a comparison of the first cost and the second cost, one of the first set of layer location information or the second set of layer location information is selected for use in determining or generating the command sets to be used to perform the transportation operations.

[0084] Once the set of layer location information to be used is determined, the computing entity 10 continues the compiling of the quantum circuit. For example, the computing entity 10 generates command sets that when executed by the controller 30 of the quantum computer 110, causes the quantum computer 110 to perform the quantum circuit. The computing entity 10 may provide (e.g., transmit) the compiled quantum circuit (including the command sets) for receipt by the controller 30 of the quantum computer. The controller 30 may receive the compiled quantum circuit and execute the compiled quantum circuit such that the quantum computer 110 performs the quantum computation encoded in the quantum circuit.

[0085] Figures 4, 5, and 6 each provide flowcharts that illustrate various processes, procedures, and / or the like performed by a classical and / or semiconductor-based computing entity 10 to determine layer location information for one or more layers of a quantum circuit using transportation requirement-based MWPM. For example, in some embodiments, a set of layer location information that includes layer location information for each layer of thequantum circuit is determined.

[0086] Starting at step 402 of Figure 4, the computing entity 10 obtains previous layer location information corresponding to a particular layer of a quantum circuit. For example, the computing entity 10 comprises means, such as processing device 808, memory 824, 822, network interface 820, antenna 812 and receiver 806, keypad 818, and / or the like, as shown in Figure 8, for obtaining the previous layer location information. The previous layer location information corresponding to the particular layer 305B of the quantum circuit 300 indicates respective locations of a plurality of qubits during a previous layer 305 A of the quantum circuit. The previous layer 305 A directly precedes the particular layer 305B of the quantum circuit.

[0087] In an example embodiment, the computing entity 10 obtains the previous layer location information by accessing or reading the previous layer location information from memory 822, 824. In another example embodiment, the computing entity 10 may receive the previous layer location information via network interface 820. For example, another computing entity may provide (e.g., transmit) the previous layer location information for receipt by the computing entity 10. In another example embodiment, a user may provide the previous layer location information via user input provided via user interaction with the keypad 818.

[0088] At step 404, the computing entity obtains particular layer pair information. For example, the computing entity 10 comprises means, such as processing device 808, memory 824, 822, network interface 820, antenna 812 and receiver 806, keypad 818, and / or the like, for obtaining the particular layer pair information. The particular layer pair information indicates pairs of the plurality of qubits to be gated together during the particular layer 305B.

[0089] In an example embodiment, the computing entity 10 obtains the particular layer pair information by accessing or reading the particular layer pair information from memory 822, 824. In another example embodiment, the computing entity 10 may receive the particular layer pair information via network interface 820. For example, another computing entity may provide (e.g., transmit) the particular layer pair information for receipt by the computing entity 10. In another example embodiment, a user may provide the particular layer pair information via user input provided via user interaction with the keypad 818.

[0090] At step 406, the computing entity 10 determines a weight matrix based at least in part on the previous layer location information and the particular layer pair information. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for determining and / or generating a weight matrix based at least inpart on the previous layer location information and the particular layer pair information. In some embodiments, the computing entity 10 determines the weight matrix based in part on the layout of the plurality of locations 205.

[0091] In various embodiments, the weight matrix includes a respective weight corresponding to each pair of qubits to be gated together during the particular layer for each location of the plurality of locations. Table 2 illustrates an example weight matrix for the particular layer 305B of the example quantum circuit 300. The respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer 305 A, as indicated by the previous layer location information, to a respective location of the plurality of locations.

[0092] In various embodiments, the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location, a number of locations along a path from the previous location to the respective location, a number of swap locations required for transporting a qubit from the previous location to the respective location, and / or the like.

[0093] In an example embodiment, the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location of the previous layer 305 A to the respective location 205, a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair, a maximum number of swap locations required for transporting a qubit from the previous location to the respective location, and / or the like. For example, the weight may be determined based on a transportation requirement for the qubit of the qubit pair that has to travel the furthest to get to the respective location from its previous location.

[0094] In various embodiments, the weight for a qubit pair corresponding to a respective location 205 is a function of the transportation requirement. For example, in an example embodiment, the weight for a qubit pair corresponding to a respective location 205 is determined based on raising the transportation requirement to a power that is greater than one (e.g., to the power of 2, 2.5, 3, 3.25, 4, 4.75, and / or the like).

[0095] At step 408, the computing entity determines particular layer location information for the particular layer. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like, for determining particular layer location information for the particular layer 305B. In various embodiments, the particular layer location information is determined by assigning each pair of the plurality of qubits to arespective particular layer location of the plurality of locations based at least in part on the respective weights of the weight matrix. For example, the particular layer location information is determined by assigning each pair of the plurality of qubits to a respective particular layer location so as to minimize a sum of weights corresponding to assigned particular layer locations for the pairs of qubits.

[0096] In various embodiments, the computing entity 10 assigns the qubit pairs to the respective particular layer locations using MWPM. For example, MWPM is used to process the weight matrix to determine and / or generate assignments of qubit pairs to particular layer locations that minimize a sum of weights corresponding to the assigned particular layer locations for the pairs of qubits.

[0097] In various embodiments, after determining the particular layer location information, the process continues to determine next layer location information for the next layer 305C of the quantum circuit 300. For example, at step 410, the computing entity 10 obtains next layer pair information. For example, the computing entity 10 comprises means, such as processing device 808, memory 824, 822, network interface 820, antenna 812 and receiver 806, keypad 818, and / or the like, for obtaining the next layer pair information. The next layer pair information indicates pairs of the plurality of qubits to be gated together during the next layer 305C. The next layer 305C directly succeeds or follows the particular layer 305B of the quantum circuit 300.

[0098] In an example embodiment, the computing entity 10 obtains the next layer pair information by accessing or reading the next layer pair information from memory 822, 824. In another example embodiment, the computing entity 10 may receive the next layer pair information via network interface 820. For example, another computing entity may provide (e.g., transmit) the next layer pair information for receipt by the computing entity 10. In another example embodiment, a user may provide the next layer pair information via user input provided via user interaction with the keypad 818.

[0099] At step 412, the computing entity 10 determines a next layer weight matrix based at least in part on the particular layer location information and the next layer pair information. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for determining and / or generating a next layer weight matrix based at least in part on the particular layer location information and the next layer pair information. In some embodiments, the computing entity 10 determines the next layer weight matrix based in part on the layout of the plurality of locations 205.

[0100] In various embodiments, the next layer weight matrix includes a respective weightcorresponding to each pair of qubits to be gated together during the next layer for each location of the plurality of locations. The respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a location of the at least one qubit during the particular layer 305B, as indicated by the particular layer location information, to a respective location of the plurality of locations.

[0101] In various embodiments, the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location, a number of locations along a path from the previous location to the respective location, a number of swap locations required for transporting a qubit from the previous location to the respective location, and / or the like.

[0102] In an example embodiment, the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location of the previous layer 305 A to the respective location 205, a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair, a maximum number of swap locations required for transporting a qubit from the previous location to the respective location, and / or the like. For example, the weight may be determined based on a transportation requirement for the qubit of the qubit pair that has to travel the furthest to get to the respective location from its previous location.

[0103] In various embodiments, the weight for a qubit pair corresponding to a respective location 205 is a function of the transportation requirement. For example, in an example embodiment, the weight for a qubit pair corresponding to a respective location 205 is and / or is determined based on raising the transportation requirement to a power that is greater than one (e.g., to the power of 2, 2.5, 3, 3.25, 4, 4.75, and / or the like).

[0104] At step 414, the computing entity 10 determines next layer location information for the next layer. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like, for determining next layer location information for the next layer 305C. In various embodiments, the next layer location information is determined by assigning each pair of the plurality of qubits to a respective next layer location of the plurality of locations based at least in part on the respective weights of the weight matrix. For example, the next layer location information is determined by assigning each pair of the plurality of qubits to a respective next layer location so as to minimize a sum of weights corresponding to assigned next layer locations for the pairs of qubits.

[0105] In various embodiments, the computing entity 10 assigns the qubit pairs to therespective next layer locations using MWPM. For example, MWPM is used to process the weight matrix to determine and / or generate assignments of qubit pairs to next layer locations that minimize a sum of weights corresponding to the assigned next layer locations for the pairs of qubits.

[0106] Steps 410-414 may continue to be iterated until layer location information is determined for each layer of the quantum circuit. For example, steps 410-414 may be iterated until a complete set of layer location information for the quantum circuit is determined. In some embodiments, after determining a complete set of layer location information for the quantum circuit, a cost may be determined. Multiple complete sets of layer location information for the quantum circuit may be determined and the complete set of layer location information that is associated with the lowest cost may be selected for use in generating the command sets configured to, when executed by the controller 30 of the quantum computer 110, cause the quantum computer 110 to perform the quantum circuit. In various embodiments, the cost of the set of layer location information is a time required to perform the qubit transportation operations for transporting qubits between successive layer locations.

[0107] Figure 5 provides a flowchart illustrating how the transportation requirement-based MWPM method may be used in tandem with an alternative location assignment method to determine layer location information that minimizes a cost (e.g., transport time) on a layer- by-layer basis. In various embodiments, step 502 may occur before, after, and / or simultaneously or overlapping in time with performance of steps 402-408.

[0108] Starting at step 502, the computing entity 10 determines alternative method particular layer location information. For example, the computing entity 10 may comprise means, such as processing device 808, memory 822, 824, and / or the like for determining alternative method particular layer location information. In various embodiments, the alternative method particular layer location information is determined using an alternative method for assigning the layer locations is the Sugiyama method, a method described by U.S. Patent No.11,861,456, issued January 2, 2024, and / or another gate or qubit location assignment method. For example, the alternative method is a method other than the transportation requirement-based MWPM method for assigning gates or qubits to locations of the plurality of locations for the particular layer.

[0109] At step 504, the computing entity 10 determines a first cost corresponding to the particular layer location information that was determined using the transportation requirement-based MWPM method. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for determining a first costcorresponding to the particular layer location information that was determined using the transportation requirement-based MWPM method. In various embodiments, the first cost is a metric that indicates how long the transportation operations required to transport the qubits from respective previous locations (e.g., as provided by the previous layer location information) to the respective locations of the particular layer location information.

[0110] At step 506, the computing entity 10 determines a second cost corresponding to the alternative method particular layer location information that was determined using the alternative method. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for determining a second cost corresponding to the alternative method particular layer location information. In various embodiments, the second cost is a metric that indicates how long the transportation operations required to transport the qubits from respective previous locations (e.g., as provided by the previous layer location information) to the respective locations of the alternative method particular layer location information.[OHl] At step 508, the computing entity 10 selects one of the particular layer location information determined using the transportation requirement-based MWPM method or the alternative method particular layer location information based on the first cost and the second cost. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for selecting one of the particular layer location information determined using the transportation requirement-based MWPM method or the alternative method particular layer location information based on the first cost and the second cost.

[0112] For example, the computing entity 10 may compare the first cost and the second cost to determine which is the lower cost. The computing entity may then select the particular layer location information determined using the transportation requirement-based MWPM method when the computing entity determines that the first cost is lower than the second cost and may select the alternative method particular layer location information when computing entity 10 determines that the second cost is lower than the first cost.

[0113] This process may be iterated for each layer of the quantum circuit until a complete set of layer location information is determined.

[0114] Figure 6 provides a flowchart illustrating how the transportation requirement-based MWPM method may be used in conjunction with an alternative location assignment method to determine a set of layer location information that minimizes a cost (e.g., transport time) across the quantum circuit.

[0115] Starting at step 602, the computing entity 10 uses a first method to determine a first method set of layer location information. For example, the computing entity 10 comprises means, such as processing device 808, memory 822, 824, and / or the like for using a first method to determine a first method set of layer location information. In various embodiments, the first method is the transportation requirement-based MWPM. In some embodiments the first method is an alternative method for assigning gates or qubits to locations of the plurality of locations for a layer other than the transportation requirementbased MWPM method. For example, the alternative method may be a Sugiyama method, a method described by U.S. Patent No. 11,861,456, issued January 2, 2024, and / or another gate or qubit location assignment method. For example, the alternative method is a method. For example, a complete set of layer location information may be determined using one of the transportation requirement-based MWPM method or an alternative method.

[0116] At step 604, the computing entity 10 uses the first method set of layer location information to provide first layer location information. For example, the computing entity 10 uses the first layer location information (e.g., the location information for the first layer of the quantum circuit) from the first method set of layer location information as the starting point of determining a second method set of layer location information. For example, the first layer location information from the first method set of layer location information may be used as the previous layer location information to determine layer location information for the second layer using a second method. The second method is whichever method of the transportation requirement-based MWPM method or an alternative method was not used as the first method.

[0117] For example, the first method set of layer location information may be determined and then further refined and / or optimized using the second method. In other words, the transportation requirement-based MWPM method and the alternative method may be used in conjunction to minimize the transportation cost on a quantum circuit level, in some embodiments.Technical Advantages

[0118] Overall, it is desired to minimize the transport time for a configuration of gates of a quantum circuit. However, such a problem is (likely) an NP-hard combinatorial problem. As such, all existing methods and future methods that are scalable are just heuristics, for which some can perform better than others. For example, conventional qubit position assignment techniques may not minimize the amount of run time of the quantum computer that is spenttransporting qubits in between performance of layers. For example, the qubit position assignments may be determined such that respective distances that most qubits are transported between layers are relatively short but some qubits are caused to travel large distances. However, the transportation time and required cooling time are determined based on the longest distance traveled by a qubit between consecutive layer positions. Thus, conventional qubit position assignment techniques may still result in significant transportation times. Therefore, technical problems regarding qubit placement assignment exist.

[0119] Various embodiments provide technical solutions to these technical challenges. For example, various embodiments provide an improved technique for assigning qubit positions for one or more layers of a quantum circuit. For example, given an initial configuration of a set of qubits (e.g., based on the configuration of the qubits for the previous layer) the respective destination locations of the qubits may be determined by assigning pairs of qubits to destination locations using a MWPM technique. In various embodiments, weights for each location of a plurality of locations defined by the quantum processor are determined for each pair of qubits to be gated together during the layer.

[0120] The weights are determined based at least in part on a transportation requirement of transporting at least one qubit of each pair from a previous location from the previous layer to a respective location of the plurality of locations. For example, the transportation requirement may be a distance traveled by the qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location. In some embodiments, the weight is determined, at least in part, by raising the transportation requirement to a power greater than one. This results in longer travel paths having significantly larger weights than shorter travel paths. For example, by determining the weight for a pair of qubits for a respective location by raising the transportation requirement to a power greater than one, the lowest total weight for the layer may include moderate length transportation paths for the qubits, but is unlikely to include any transportation paths that are significantly longer than the mean or median transportation path. This results in the transportation time for transporting the qubits between positions of one layer and the positions of the next layer being minimized.

[0121] Therefore, various embodiments provide improvements to quantum circuit compilation, quantum computation performance, and / or quantum computing.Example Controller

[0122] In various embodiments, a quantum computer 110 comprises a controller 30 configured to control various elements and / or components of the quantum processor 115. In various embodiments, a controller 30 may be configured to cause a quantum computer 110 to perform various operations (e.g., quantum logic operations, cooling operations, measurement operations, shelving / deshelving operations, state preparation operations, qubit transportation operations, and / or the like). For example, the controller 30 may be configured to cause one or more manipulation sources 64 to provide respective manipulation signals configured to enact respective operations, in an example embodiment. In various embodiments, the controller 30 may be configured to control operation of a cryogenic system and / or vacuum system controlling the temperature and pressure within the cryogenic and / or vacuum chamber 40, manipulation sources 64, beam path systems 66, confinement apparatus 50, voltage sources 70, and / or other systems controlling the environmental conditions (e.g., temperature, humidity, pressure, and / or the like) within the cryogenic and / or vacuum chamber 40 and / or configured to manipulate and / or cause a controlled evolution of quantum states of one or more atomic objects confined by the confinement apparatus 50.

[0123] As shown in Figure 7, in various embodiments, the controller 30 may comprise various controller elements including processing device 705, memory 710, driver controller elements 715, a communication interface 720, analog-digital converter elements 725, and / or the like. For example, the processing device 705 may comprise one or more processing elements such as programmable logic devices (CPLDs), microprocessors, coprocessing entities, application-specific instruction-set processors (ASIPs), integrated circuits, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), hardware accelerators, other processing devices and / or circuitry, and / or the like, and / or controllers. The term circuitry may refer to an entirely hardware embodiment or a combination of hardware and computer program products. In an example embodiment, the processing device 705 of the controller 30 comprises a clock and / or is in communication with a clock.

[0124] For example, the memory 710 may comprise non-transitory (classical and / or semiconductor-based) memory such as volatile and / or non-volatile memory storage such as one or more of as hard disks, ROM, PROM, EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks, CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, RIMM, DIMM, SIMM, VRAM, cache memory, register memory, and / or the like. In various embodiments, the memory 710 may store qubitrecords corresponding the qubit ions of the quantum computer (e.g., in a qubit record data store, qubit record database, qubit record table, and / or the like), a calibration table, an executable queue, computer program code (e.g., in a one or more computer languages, specialized controller language(s), and / or the like), and / or the like. In an example embodiment, execution of at least a portion of the computer program code stored in the memory 710 (e.g., by a processing device 705) causes the controller 30 to perform one or more steps, operations, processes, procedures and / or the like described herein.

[0125] In various embodiments, the driver controller elements 715 may include one or more drivers and / or controller elements each configured to control one or more drivers. In various embodiments, the driver controller elements 715 may comprise drivers and / or driver controllers. For example, the driver controllers may be configured to cause one or more corresponding drivers to be operated in accordance with executable instructions, commands, and / or the like scheduled and executed by the controller 30 (e.g., by the processing device 705).

[0126] In various embodiments, the driver controller elements 715 may enable the controller 30 to operate manipulation sources 64, beam path systems 66, voltage sources 70, the confinement apparatus 50, vacuum and / or cryogenic systems, and / or the like. In various embodiments, the drivers may be laser drivers; microwave drivers; vacuum component drivers; cryogenic and / or vacuum system component drivers; current drivers; potential drivers; voltage sources; and / or the like.

[0127] In various embodiments, the controller 30 comprises means for communicating and / or receiving sensor signals from one or more optical receiver components such as photodetectors, cameras, MEMs cameras, CCD cameras, photodiodes, photomultiplier tubes, and / or the like. For example, the controller 30 may comprise one or more analog-digital converter elements 725 configured to receive signals from one or more optical receiver components, calibration sensors, and / or the like. For example, the controller 30 may be configured to receive one or more sensor signals generated by respective photodetectors of the optics collection system and / or other calibration system.

[0128] In various embodiments, the controller 30 may comprise a communication interface 720 for interfacing and / or communicating with a computing entity 10. For example, the controller 30 may comprise a communication interface 720 for receiving executable instructions, command sets, and / or the like from the computing entity 10 and providing output received from the quantum computer 110 (e.g., from an optical collection system) and / or the result of a processing the output to the computing entity 10. In variousembodiments, the computing entity 10 and the controller 30 may communicate via a direct wired and / or wireless connection and / or one or more wired and / or wireless networks 20.Example Computing Entity

[0129] Figure 8 provides an illustrative schematic representation of an example computing entity 10 that can be used in conjunction with embodiments of the present invention. In various embodiments, a computing entity 10 is configured to allow a user to provide input to the quantum computer 110 (e.g., via a user interface of the computing entity 10) and receive, display, analyze, and / or the like output from the quantum computer 110. For example, a user may operate a computing entity 10 to generate and / or program a quantum algorithm and / or quantum circuit that may be provided such that the controller 30 may receive the quantum algorithm and / or quantum circuit and cause the quantum computer 110 to perform the quantum algorithm and / or quantum circuit.

[0130] As shown in Figure 8, a computing entity 10 can include an antenna 812, a transmitter 804 (e.g., radio), a receiver 806 (e.g., radio), and a processing device 808 that provides signals to and receives signals from the transmitter 804 and receiver 806, respectively. The signals provided to and received from the transmitter 804 and the receiver 806, respectively, may include signaling information / data in accordance with an air interface standard of applicable wireless systems to communicate with various entities, such as a controller 30, other computing entities 10, and / or the like.

[0131] In this regard, the computing entity 10 may be capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. For example, the computing entity 10 may be configured to receive and / or provide communications using a wired data transmission protocol, such as fiber distributed data interface (FDDI), digital subscriber line (DSL), Ethernet, asynchronous transfer mode (ATM), frame relay, data over cable service interface specification (DOCSIS), or any other wired transmission protocol.

[0132] Similarly, the computing entity 10 may be configured to communicate via wireless external communication networks using any of a variety of protocols, such as general packet radio service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), CDMA2000 IX (IxRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data rates for GSM Evolution (EDGE), Time Division-Synchronous Code Division Multiple Access (TD-

[0133] SCDMA), Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolution-Data Optimized (EVDO), High Speed Packet Access (HSPA), High- Speed Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), ultra-wideband (UWB), infrared (IR) protocols, near field communication (NFC) protocols, Wibree, Bluetooth protocols, wireless universal serial bus (USB) protocols, and / or any other wireless protocol. The computing entity 10 may use such protocols and standards to communicate using Border Gateway Protocol (BGP), Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), HTTP over TLS / SSL / S ecure, Internet Message Access Protocol (IMAP), Network Time Protocol (NTP), Simple Mail Transfer Protocol (SMTP), Telnet, Transport Layer Security (TLS), Secure Sockets Layer (SSL), Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP), HyperText Markup Language (HTML), and / or the like. In various embodiments, the computing entity 10 includes a network interface 820 configured to enable the computing entity 10 to communicate via one or more wired and / or wireless networks.

[0134] Via these communication standards and protocols, the computing entity 10 can communicate with various other entities using concepts such as Unstructured Supplementary Service information / data (USSD), Short Message Service (SMS), Multimedia Messaging Service (MMS), Dual-Tone Multi-Frequency Signaling (DTMF), and / or Subscriber Identity Module Dialer (SIM dialer). The computing entity 10 can also download changes, add-ons, and updates, for instance, to its firmware, software (e.g., including executable instructions, applications, program modules), and operating system.

[0135] In various embodiments, the computing entity comprises a processing device 808. For example, the processing device 808 may comprise one or more processing elements such as programmable logic devices (CPLDs), microprocessors, coprocessing entities, application- specific instruction-set processors (ASIPs), integrated circuits, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), hardware accelerators, other processing devices and / or circuitry, and / or the like, and / or controllers. The term circuitry may refer to an entirely hardware embodiment or a combination of hardware and computer program products.

[0136] The computing entity 10 may also comprise a user interface device comprising one or more user input / output interfaces (e.g., a display 816 and / or speaker / speaker driver coupled to a processing device 808 and a touch screen, keyboard, mouse, and / or microphone coupledto a processing device 808). For instance, the user output interface may be configured to provide an application, browser, user interface, interface, dashboard, screen, webpage, page, and / or similar words used herein interchangeably executing on and / or accessible via the computing entity 10 to cause display or audible presentation of information / data and for interaction therewith via one or more user input interfaces. The user input interface can comprise any of a number of devices allowing the computing entity 10 to receive data, such as a keypad 818 (hard or soft), a touch display, voice / speech or motion interfaces, scanners, readers, or other input device. In embodiments including a keypad 818, the keypad 818 can include (or cause display of) the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the computing entity 10 and may include a full set of alphabetic keys or set of keys that may be activated to provide a full set of alphanumeric keys. In addition to providing input, the user input interface can be used, for example, to activate or deactivate certain functions, such as screen savers and / or sleep modes. Through such inputs the computing entity 10 can collect information / data, user interact! on / input, and / or the like.

[0137] The computing entity 10 can also include volatile storage or memory 822 and / or nonvolatile storage or memory 824, which can be embedded and / or may be removable. For instance, the non-volatile memory may be ROM, PROM, EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks, CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, and / or the like. The volatile memory may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM,

[0138] RIMM, DIMM, SIMM, VRAM, cache memory, register memory, and / or the like. The volatile and non-volatile storage or memory can store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or the like to implement the functions of the computing entity 10.Conclusion

[0139] Many modifications and other embodiments of the invention set forth herein will come to mind to one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they areused in a generic and descriptive sense only and not for purposes of limitation.

Claims

CLAIMS1. A method for determining placement of quantum gates of a quantum circuit, the method comprising: obtaining, by a classical processor, a previous layer location information, the previous layer location information indicating respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit; obtaining, by the classical processor, particular layer pair information, the particular layer pair information indicating pairs of the plurality of qubits to be gated together during the particular layer; determining, by the classical processor and for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by a quantum processor, wherein the respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations; and based on the respective weights, determining, by the classical processor, particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

2. The method of claim 1, wherein the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location.

3. The method of claim 1, wherein the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location to the respective location or a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair.

4. The method of claim 1, wherein the weight is determined by raising a value corresponding to the transportation requirement to a power that is greater than one.

5. The method of claim 1, wherein locations of the plurality of locations are in one of a one-dimensional layout or a two-dimensional layout.

6. The method of claim 1, wherein determining the particular layer location information is performed using minimum -weight perfect matching (MWPM).

7. The method of claim 1, further comprising: determining alternative method particular layer location information, wherein the alternative method particular layer location information indicates respective locations assigned to each of the pairs of the plurality of qubits to be gated together during the particular layer using an alternative method; determining a first cost associated with the particular layer information and a second cost associated with the alternative method particular layer location information; and selecting one of the particular layer information or the alternative method particular layer location information based at least in part on the first cost and the second cost.

8. The method of claim 7, wherein the first cost is a total transportation time of transporting the plurality of qubits from a configuration corresponding to the previous layer location information to a configuration corresponding to the particular layer location information and the second cost is a total transportation time of transporting the plurality of qubits from the configuration corresponding to the previous layer location information to a configuration corresponding to the alternative method particular layer location information.

9. The method of claim 1, further comprising: obtaining next layer pair information, wherein the next layer pair information indicates pairs of the plurality of qubits to be gated together during a next layer of the quantum circuit, the next layer being directly subsequent to the particular layer; determining, for each pair of the plurality of qubits to be gated together during the next layer, respective next layer weights for each location of the plurality of locations based at least in part on the particular layer location information and the next layer pair information; and based on the respective next layer weights, determining next layer location information by assigning each pair of the plurality of qubits to a respective next layer locationof the plurality of locations based at least in part on the respective next layer weights.

10. The method of claim 1, further comprising causing transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

11. A method for determining placement of quantum gates of a quantum circuit, the method comprising: using a first method to determine a first method set of location information, the first method set of location information comprising location information for each layer of the quantum circuit; and using a second method to determine a second method set of location information, the second method set of location information comprising location information for each layer of the quantum circuit, wherein the first method set of location information is used as input for the second method, wherein one of the first method or the second method is transportation requirementbased minimum weight perfect matching (MWPM).

12. The method of claim 11, wherein first layer location information of the first method set of location information is used as initial first layer location information for performance of the second method.

13. The method of claim 11, wherein determining particular layer location information using the transportation requirement-based MWPM comprises: obtaining a previous layer location information, the previous layer location information indicating respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit; obtaining particular layer pair information, the particular layer pair information indicating pairs of the plurality of qubits to be gated together during the particular layer; determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by the quantum processor, wherein the respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated bythe previous layer location information, to a respective location of the plurality of locations; and based on the respective weights, determining the particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

14. The method of claim 11, wherein one of the first method or the second method is a Sugiyama method.

15. An apparatus comprising at least one processor and a non-transitory memory storing computer-executable instructions, the computer-executable instructions configured to, when executed by the at least one processor, cause the apparatus to perform: obtaining a previous layer location information, the previous layer location information indicating respective locations of a plurality of qubits during a previous layer of the quantum circuit, the previous layer directly preceding a particular layer of the quantum circuit; obtaining particular layer pair information, the particular layer pair information indicating pairs of the plurality of qubits to be gated together during the particular layer; determining, for each pair of the plurality of qubits to be gated together during the particular layer, respective weights for each location of a plurality of locations defined at least in part by a quantum processor, wherein the respective weights are determined based at least in part on a transportation requirement of transporting at least one qubit of the pair from a previous location of the at least one qubit during the previous layer, as indicated by the previous layer location information, to a respective location of the plurality of locations; and based on the respective weights, determining particular layer location information by assigning each pair of the plurality of qubits to a respective particular layer location of the plurality of locations so as to minimize a sum of weights.

16. The apparatus of claim 15, wherein the transportation requirement comprises at least one of a distance traveled by the at least one qubit from the previous location to the respective location or a number of locations along a path from the previous location to the respective location.

17. The apparatus of claim 15, wherein the transportation requirement comprises at least one of a maximum distance traveled by a qubit of the pair from the previous location to the respective location or a maximum number of locations along a path from the previous location to the respective location of the qubit of the pair.

18. The apparatus of claim 15, wherein the weight is determined by raising a value corresponding to the transportation requirement to a power that is greater than one.

19. The apparatus of claim 15, wherein locations of the plurality of locations are in one of a one-dimensional layout or a two-dimensional layout.

20. The apparatus of claim 15, wherein the apparatus is configured to control operation of a confinement apparatus to cause transportation of at least one qubit of the plurality of qubits based at least in part on the particular layer information.

Citation Information

Patent Citations

  • Apparatuses, computer-implemented methods, and computer program products for instruction compilation for at least one time slice in a one-dimensional quantum computing environment

    US11861456B2