WO2023069245A1 - Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit - Google Patents

Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit Download PDF

Info

Publication number
WO2023069245A1
WO2023069245A1 PCT/US2022/045355 US2022045355W WO2023069245A1 WO 2023069245 A1 WO2023069245 A1 WO 2023069245A1 US 2022045355 W US2022045355 W US 2022045355W WO 2023069245 A1 WO2023069245 A1 WO 2023069245A1
Authority
WO
WIPO (PCT)
Prior art keywords
gates
circuits
sequence
wires
spa
Prior art date
Application number
PCT/US2022/045355
Other languages
French (fr)
Inventor
Jan Tulowiecki
Konrad Deka
Jan Marian GWINNER
Witold JARNICKI
Lukasz Czerwinski
Original Assignee
Beit Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/936,527 external-priority patent/US20230117527A1/en
Application filed by Beit Inc. filed Critical Beit Inc.
Publication of WO2023069245A1 publication Critical patent/WO2023069245A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Definitions

  • This invention relates generally to computer systems and particularly to quantum computing techniques and circuits.
  • Computing devices are known to communicate data, process data, and/or store data. Such computing devices range from wireless smartphones, laptops, tablets, personal computers (PC), work stations, smart watches, connected cars, and video game devices, to web servers and data centers that support millions of web searches, web applications, or on-line purchases every day.
  • a computing device includes a processor, a memory system, user input/output interfaces, peripheral device interfaces, and an interconnecting bus structure.
  • Figure 1 A is a schematic block diagram of a prior art quantum circuit
  • Figure IB is a block diagram of an example quantum computing architecture
  • Figure 1C is a block diagram of an example SPA sequence of CX gates
  • Figures 2A - 2N are schematic/block diagrams of example quantum circuits
  • Figure 3 A is a flowchart representation of an example method
  • Figure 3B is a schematic/block diagram of an example quantum circuit
  • Figure 4A is a block diagram of an example quantum computing architecture
  • Figures 4B - 4C are schematic/block diagrams of example quantum circuits
  • Figures 4D - 4G are schematic/block diagrams of example equivalency rules
  • FIG. 5 is a flow diagram of an example method. DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 1A is a schematic block diagram 100 of a prior art quantum circuit.
  • Grover's algorithm is a quantum algorithm that finds, with high probability, a quantum solution.
  • Grover's algorithm is based on the unique input to a black box function or other function called a “quantum oracle”, “oracle operator”, “oracle function” or simply “oracle” that produces a particular output value.
  • Grover's algorithm converges in just O(sqrt(N)) evaluations of the oracle function, where N is the size of the function's domain.
  • Grover’ s algorithm has been applied to the problem of unstructured database search, or more generally the inversion of a function.
  • n qubits are initialized and applied to a corresponding number of Hadamard (H) gates. Each input is Hadamard transformed in order to achieve a uniform superposition of all the initial states.
  • An oracle gate (O) performs an oracle call for each of the transformed qubit states and a diffusion gate (G) performs the Grover diffusion operator. This process is repeated 0(sqrt(7V)) times.
  • a measurement of the qubits after this point yields the quantum solution with a probability that approaches 1 for large values of N. See e.g., John Wright, Lecture 4: Grover’s Algorithm, Carnegie Mellon University, Sept. 21, 2015.
  • Figure IB is a block diagram of an example quantum computing architecture.
  • Various quantum algorithms such as Grover search or QAOA, require implementation of arbitrary diagonal operators. Inevitably, to execute those operators on the physical devices, they must be first decomposed into the hardware’s native gate set. The decomposition strategy may be greatly impacted by the qubit connectivity of the target device. While this problem has been studied for a fully connected topology, a method of constructing generic diagonal circuits with lower connectivity of qubits, can prove to be of more use in real-life situations.
  • Appendix A presents a discussion about the structure of solutions in the general case.
  • Three different variants of the problems are presented along with the motivation behind them.
  • variants called WPA (Wire Permutation Allowed) and SPA (State Permutation Allowed) and their applications in quantum algorithms are presented along with a comprehensive description of a general solution to the decomposition problem on fully connected topology.
  • WPA Wireless Permutation Allowed
  • SPA State Permutation Allowed
  • a solution to the problem on restricted topologies, including linear and circular topologies is presented.
  • a method for generating circuits having the desired properties are also described.
  • a quantum circuit 110 is presented having n wires (n qubits) that has been generated based on a decomposition of a diagonal operator on a restricted topology - in this case a linear topology, and in a variant where state permutation is allowed.
  • the quantum circuit 110 generates a quantum computing result based on a measurement from the plurality of qubits - with or without the use of additional (ancillary or ancilla) working qubits.
  • the quantum circuit 110 can be used in circuit implementations of quantum solutions based on the application of Grover’s Algorithm or other diffusion-based quantum solutions.
  • the quantum circuit 110 includes a sequence of CX gates on the n wires in a variant where state permutation is allowed. In the context of this disclosure this can be referred to as SPA n sequence of CX gates 112 or more simply as SPA n .
  • the quantum circuit 110 further includes phase gates 113. These phase gates can be arranged, for example so that a phase gate is inserted following each of the CX gates of the SPA n sequence of CX gates.
  • SPA 4 sequence of CX gates shown in Figure 2M.
  • Figure 2N a phase gate (P) is inserted following each of the CX gates of the SPA 4 .
  • phase gates 113 with the SPA n sequence of CX gates 112 creates an SPA n circuit (or gate) that can generate, based on the determination of the corresponding phases of the phase gates 113, a quantum solution for any diagonal operator on a linear topology. While a quantum circuit 110 is shown with an SPA implementations, NPA and WPA implementations of quantum circuit 110 can likewise be employed, as discussed in conjunction with Appendix A.
  • FIG. 1C is a block diagram of an example SPA sequence of CX gates.
  • SPA n can be generated recursively based on SPA n-1 sequence of gates 126, a GRAY n circuit 124 and swap operations 122. Further consider a quantum circuit 110 having z wires. Decomposition can be performed by:
  • step (e) providing a sequence of at least one reverse swap on the n wires that reverses the operations provided in step (c);
  • the quantum circuit 110 further includes diffusion gates 114 such as Grover diffusion gates (G) or other diffusion gates that apply one or more different diffusion operators.
  • the quantum circuit 110 can further include one or more other quantum gates such as, Hadamard (H) gates, X gates, Y gates, Z gates, phase shift gates, other controlled gates, swap gates, Toffoli gates, Deutsch gates, Ising gates, Fredkin gates, Adalus gates and/or other quantum logic gates and combinations thereof in various other circuit configurations.
  • the SPA n sequence of CX gates 112, the phase gates 113, and diffusion gates 114, and other gates (when present) of the quantum circuit 110 can be implemented with one or more processing devices.
  • Each such processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions.
  • Each such processing device can operate in conjunction with an attached memory and/or an integrated memory element such as classical memory or other memory device, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit.
  • a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
  • the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network).
  • the quantum circuit 110 implements one or more of its gates or other functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry
  • the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • a memory can store, and a processing device can execute, hard coded and/or other operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures.
  • a memory device or memory element can be tangible memory device or other non-transitory storage medium included in or implemented as an article of manufacture.
  • FIG. 3 A is a flowchart representation of an example method.
  • a method 300 is presented for use with one or more functions and features described in conjunction herein for generating a quantum circuit having z wires on a restricted topology, where z is greater than 3.
  • An SPA n sequence of CX gates on the n wires is generated by steps 304, 306, 308 and 310.
  • Step 304 includes providing a sequence of at least one forward swap on the n wires.
  • Step 306 includes providing a GRAY n circuit on the n wires, wherein the GRAY n circuit includes a plurality of additional CX gates.
  • Step 308 includes providing a sequence of at least one reverse swap on the n wires that reverses the operations provided in step 304.
  • Step 310 includes providing a SPA n-1 sequence of CX gates on the first n - 1 wires of the n wires.
  • Step 312 includes incrementing n and repeating steps 304 - 310 when n ⁇ z.
  • z 5 and the SPAn sequence of CX gates comprises a SPA-TDG 5 sequence of CX gates on five wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG 5 sequence of CX gates on a corresponding one of the five wires.
  • z 4 and the SPAn sequence of CX gates comprises a SPA-TDG 4 sequence of CX gates on four wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG 4 sequence of CX gates on a corresponding one of the four wires.
  • any of the methods above can be used to generate a quantum circuit having z wires.
  • TDG n Tulowiecki-Deka-Gwinner
  • TDG n gates An example process of generating TDG n gates can be described as follows. In particular, a method is described for finding relatively short circuits solving the Diagonal Operator Decomposition problem (and its respective variants) on restricted topologies. This method produces TDG n gates that provide reasonably short solutions to the problem with much smaller consumption of classical resources (primarily CPU time).
  • the method has several meta-parameters that allow for trade-offs between CPU time, memory consumption and solution quality (computed as number of CX gates in the resulting circuit).
  • the meta-parameters will be introduced in the description, when they are relevant.
  • Routine (1) create a new solution pool, “pool2”. For each element of the pool, copy the circuit relevant number of times and append to each a different allowed CX gate. Add each of those new circuits to pool2.
  • POOL SIZE MULT We introduce a meta parameter POOL SIZE MULT. There are two possibilities:
  • size of pool2 is less than POOL_SIZE_MULT *
  • pool2 The size of pool2 is equal to POOL SIZE MULT * MAX POOL SIZE. We then remove a random element from pool2 before adding the new circuit. The removed element should be randomly selected among those with the worst score (scoring strategies are discussed below). [0040] After executing routine (1) until pool is empty, we remove duplicate circuits from pool2. This motivates POOL SIZE MULT parameter - we allow for more elements in pool2 during execution of routine (1), so that after duplicates removal size of pool2 is roughly equal to MAX_POOL_SIZE. If, after this deduplication, the size of pool2 still exceeds MAX POOL SIZE, we again remove random worst-scoring elements of the pool, until the size of pool2 becomes MAX_POOL_SIZE.
  • the score function is dependent on the variant solved.
  • the functions used are as follows:
  • FIG. 4A is a block diagram of an example quantum computing architecture.
  • a quantum circuit 410 is shown with an associated k-qubit quantum register 420.
  • the quantum circuit 410 includes one or more TDG n gates 412 (where n is less than or equal to k), one or more diffusion (G) gates 114 and/or one or more other quantum logic gates 416.
  • the other quantum logic gates 116 when present, can further include Hadamard (H) gates, X gates, Y gates, Z gates, phase shift gates, controlled gates, such as CX, CY and/or CZ gates, swap gates, Toffoli gates, Deutsch gates, Ising gates, Fredkin gates, Adalus gates and/or other quantum logic gates and combinations thereof in various circuit configurations.
  • H Hadamard
  • X gates X gates
  • Y gates Y gates
  • Z gates phase shift gates
  • controlled gates such as CX, CY and/or CZ gates
  • swap gates Toffoli gates
  • Deutsch gates Ising gates
  • Fredkin gates Adalus gates
  • other quantum logic gates and combinations thereof in various circuit configurations.
  • the quantum circuit 410 generates a quantum computing result based on a measurement from the k of qubits - with or without the use of additional (ancillary or ancilla) working qubits.
  • the various gates the quantum circuit 410 can be implemented with one or more processing devices.
  • Each such processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions.
  • Each such processing device can operate in conjunction with an attached memory and/or an integrated memory element such as classical memory or other memory device, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit.
  • Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
  • the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network).
  • the quantum circuit 410 implements one or more of its gates or other functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry
  • the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • a memory can store, and a processing device can execute, hard coded and/or other operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures.
  • a memory device or memory element can be tangible memory device or other non-transitory storage medium included in or implemented as an article of manufacture.
  • Figure 4B presents the sequence of 14 CX gates on 4 wires corresponding to the first SPA-TDG 4 gate, (SPA-TDG 4-1 ).
  • Each CX gate in the sequence can be described by a number pair (a, b) where b represents the number of the wire to be controlled and a represents the number of the controlling wire.
  • the first CX gate in the sequence (left to right) is (1, 0)
  • the second CX gate is (1, 2).
  • the unique sequence of CXs in the SPA-TDG 4-1 gate can be described as:
  • FIGS 4D - 4G are schematic/block diagrams of example equivalency rules. Sets of the TDG 4 gates and TDG 5 gates can be generated based on solutions found using the heuristic TDG sequence generation process previously described along with the application of different equivalency rules. In Figure 4D, the order of two subsequent CX gates with disjoint sets of operating qubits is irrelevant for correct enumeration of state subsets. This rule may be applied without regard to orientation of CX in question.
  • the equivalency rules can be applied until the lexicographically smallest equivalent solution is obtained.
  • the solution is lexicographically smaller, if its transcription into a list of pairs treated as a string is lexicographically smaller.
  • These solutions are then sorted lexicographically and any duplicates are removed.
  • SPA-TDG 5-8 (2, 1) (3, 2) (4, 3) (2, 3) (1, 2) (0, 1) (2, 3) (1, 2) (2, 1) (3, 2) (4, 3) (3, 2) (1, 2) (0, 1) (2, 3) (1, 2) (0, 1) (3, 2) (1, 2) (3, 4) (4, 3) (2, 3) (3, 2) (2, 1) (1, 2) (0, 1) (2, 1) (3, 2) (4, 3) (3, 2) (2, 1)
  • FIG. 5 is a flow diagram of an example method.
  • a method 500 is presented for use with one or more functions and features described in conjunction herein for generating a TDGn circuit (e.g. NPA- TDGn or SPA- TDGn) having z wires on a restricted topology, where n is greater than 3.
  • Step 502 includes generating a first set of circuits.
  • Step 504 includes generating additional circuits, wherein each of the additional circuits is formed by appending a CX gate in a corresponding one of a plurality of configurations to one circuit of the first set of circuits.
  • Step 506 includes generating a second set of circuits by: sequentially adding, ones of the additional circuits to the second set of circuits when a number of circuits in the second set of circuits is less than a first threshold number; when the number of circuits in the second set of circuits reaches the first maximum number, scoring the circuits added to the second set of circuits, removing a circuit from the second set of circuits based on a scoring criteria, and adding a next one of the additional circuits to the second set of circuits; continuing until each of the additional circuits have been added to the second set of circuits; removing duplicate circuits from the second set of circuits; when the number of circuits in the second set of circuits is greater than a second threshold number, removing circuits from the second set of circuits based on the scoring criteria until the number of circuits in the second set of circuits is equal to the second threshold number; and scoring the second set of circuits based on a scoring threshold.
  • step 508 which includes updating the first set of circuits as the second set of circuits.
  • the method proceeds to repeat steps 504 and 506.
  • step 510 which includes selecting a TDGn sequence of CX gates as the one of the second set of circuits that reaches the scoring threshold.
  • Step 512 includes adding a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the TDGn sequence of CX gates on a corresponding one of the n wires.
  • n 5 and the TDGn sequence of CX gates comprises a SPA-TDG 5 sequence of CX gates on five wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG 5 sequence of CX gates on a corresponding one of the five wires.
  • n 4 and the TDGn sequence of CX gates comprises a SPA-TDG 4 sequence of CX gates on four wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG 4 sequence of CX gates on a corresponding one of the four wires.
  • n 5 and the TDGn sequence of CX gates comprises a NPA-TDGs sequence of CX gates on five wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDGs sequence of CX gates on a corresponding one of the five wires.
  • n 4 and the TDGn sequence of CX gates comprises a NPA-TDG 4 sequence of CX gates on four wires.
  • each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG 4 sequence of CX gates on a corresponding one of the four wires.
  • z 4 or 5 and the SPA» sequence of CX gates comprises a WPA-TDG n .
  • a quantum circuit comprises a TDGn circuit generated by any of the methodologies described above.
  • the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items.
  • an industry-accepted tolerance is less than one percent and, for other industries, the industry-accepted tolerance is 10 percent or more.
  • Other examples of industry-accepted tolerance range from less than one percent to fifty percent.
  • Industry-accepted tolerances correspond to, but are not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, thermal noise, dimensions, signaling errors, dropped packets, temperatures, pressures, material compositions, and/or performance metrics.
  • tolerance variances of accepted tolerances may be more or less than a percentage level (e.g., dimension tolerance of less than +/- 1%). Some relativity between items may range from a difference of less than a percentage level to a few percent. Other relativity between items may range from a difference of a few percent to magnitude of differences.
  • the term(s) “configured to”, “operably coupled to”, “coupled to”, and/or “coupling” includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for an example of indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level.
  • inferred coupling i.e., where one element is coupled to another element by inference
  • the term “configured to”, “operable to”, “coupled to”, or “operably coupled to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform, when activated, one or more its corresponding functions and may further include inferred coupling to one or more other items.
  • the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item.
  • the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.
  • the term “compares unfavorably”, indicates that a comparison between two or more items, signals, etc., fails to provide the desired relationship.
  • one or more claims may include, in a specific form of this generic form, the phrase “at least one of a, b, and c” or of this generic form “at least one of a, b, or c”, with more or less elements than “a”, “b”, and “c”.
  • the phrases are to be interpreted identically.
  • “at least one of a, b, and c” is equivalent to “at least one of a, b, or c” and shall mean a, b, and/or c.
  • it means: “a” only, “b” only, “c” only, “a” and “b”, “a” and “c”, “b” and “c”, and/or “a”, “b”, and “c”.
  • processing module may be a single processing device or a plurality of processing devices.
  • a processing device may be a microprocessor, microcontroller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions.
  • the processing module, module, processing circuit, processing circuitry, and/or processing unit may be, or further include, memory and/or an integrated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit.
  • a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
  • processing module, module, processing circuit, processing circuitry, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network).
  • the processing module, module, processing circuit, processing circuitry and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry
  • the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • the memory element may store, and the processing module, module, processing circuit, processing circuitry and/or processing unit executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures.
  • Such a memory device or memory element can be included in an article of manufacture.
  • One or more examples have been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof.
  • the boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claims.
  • the boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed.
  • flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality.
  • a flow diagram may include a “start” and/or “continue” indication.
  • the “start” and “continue” indications reflect that the steps presented can optionally be incorporated in or otherwise used in conjunction with one or more other routines.
  • a flow diagram may include an “end” and/or “continue” indication.
  • the “end” and/or “continue” indications reflect that the steps presented can end as described and shown or optionally be incorporated in or otherwise used in conjunction with one or more other routines.
  • start indicates the beginning of the first step presented and may be preceded by other activities not specifically shown.
  • the “continue” indication reflects that the steps presented may be performed multiple times and/or may be succeeded by other activities not specifically shown.
  • a flow diagram indicates a particular ordering of steps, other orderings are likewise possible provided that the principles of causality are maintained.
  • the one or more examples are used herein to illustrate one or more aspects, one or more features, one or more concepts, and/or one or more examples.
  • a physical example of an apparatus, an article of manufacture, a machine, and/or of a process may include one or more of the aspects, features, concepts, examples, etc. described with reference to one or more of the examples discussed herein.
  • the examples may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numbers and, as such, the functions, steps, modules, etc. may be the same or similar functions, steps, modules, etc. or different ones.
  • signals to, from, and/or between elements in a figure of any of the figures presented herein may be analog or digital, continuous time or discrete time, and single-ended or differential.
  • signals to, from, and/or between elements in a figure of any of the figures presented herein may be analog or digital, continuous time or discrete time, and single-ended or differential.
  • a signal path is shown as a single-ended path, it also represents a differential signal path.
  • a signal path is shown as a differential path, it also represents a single-ended signal path.
  • module is used in the description of one or more of the examples.
  • a module implements one or more functions via a device such as a processor or other processing device or other hardware that may include or operate in association with a memory that stores operational instructions.
  • a module may operate independently and/or in conjunction with software and/or firmware.
  • a module may contain one or more sub-modules, each of which may be one or more modules.
  • a computer readable memory includes one or more memory elements.
  • a memory element may be a separate memory device, multiple memory devices, or a set of memory locations within a memory device.
  • Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, a quantum register or other quantum memory and/or any other device that stores data in a non-transitory manner.
  • the memory device may be in a form of a solid-state memory, a hard drive memory or other disk storage, cloud memory, thumb drive, server memory, computing device memory, and/or other non-transitory medium for storing data.
  • the storage of data includes temporary storage (i.e., data is lost when power is removed from the memory element) and/or persistent storage (i.e., data is retained when power is removed from the memory element).
  • a transitory medium shall mean one or more of: (a) a wired or wireless medium for the transportation of data as a signal from one computing device to another computing device for temporary storage or persistent storage; (b) a wired or wireless medium for the transportation of data as a signal within a computing device from one element of the computing device to another element of the computing device for temporary storage or persistent storage; (c) a wired or wireless medium for the transportation of data as a signal from one computing device to another computing device for processing the data by the other computing device; and (d) a wired or wireless medium for the transportation of data as a signal within a computing device from one element of the computing device to another element of the computing device for processing the data by the other element of the computing device.
  • a non-transitory computer readable memory is substantially equivalent
  • One or more functions associated with the methods and/or processes described herein can be implemented via a processing module that operates via the non-human “artificial” intelligence (Al) of a machine.
  • Al non-human “artificial” intelligence
  • Examples of such Al include machines that operate via anomaly detection techniques, decision trees, association rules, expert systems and other knowledge-based systems, computer vision models, artificial neural networks, convolutional neural networks, support vector machines (SVMs), Bayesian networks, genetic algorithms, feature learning, sparse dictionary learning, preference learning, deep learning and other machine learning techniques that are trained using training data via unsupervised, semi-supervised, supervised and/or reinforcement learning, and/or other Al.
  • SVMs support vector machines
  • Bayesian networks genetic algorithms, feature learning, sparse dictionary learning, preference learning, deep learning and other machine learning techniques that are trained using training data via unsupervised, semi-supervised, supervised and/or reinforcement learning, and/or other Al.
  • the human mind is not equipped to perform such Al techniques, not only due to the complexity of these techniques, but
  • One or more functions associated with the methods and/or processes described herein can be implemented as a large-scale system that is operable to receive, transmit and/or process data on a large-scale.
  • a large-scale refers to a large number of data, such as one or more kilobytes, megabytes, gigabytes, terabytes or more of data that are received, transmitted and/or processed.
  • Such receiving, transmitting and/or processing of data cannot practically be performed by the human mind on a large-scale within a reasonable period of time, such as within a second, a millisecond, microsecond, a real-time basis or other high speed required by the machines that generate the data, receive the data, convey the data, store the data and/or use the data.
  • One or more functions associated with the methods and/or processes described herein can require data to be manipulated in different ways within overlapping time spans.
  • the human mind is not equipped to perform such different data manipulations independently, contemporaneously, in parallel, and/or on a coordinated basis within a reasonable period of time, such as within a second, a millisecond, microsecond, a real-time basis or other high speed required by the machines that generate the data, receive the data, convey the data, store the data and/or use the data.
  • One or more functions associated with the methods and/or processes described herein can be implemented in a system that is operable to electronically receive digital data via a wired or wireless communication network and/or to electronically transmit digital data via a wired or wireless communication network. Such receiving and transmitting cannot practically be performed by the human mind because the human mind is not equipped to electronically transmit or receive digital data, let alone to transmit and receive digital data via a wired or wireless communication network.
  • One or more functions associated with the methods and/or processes described herein can be implemented in a system that is operable to electronically store digital data in a memory device. Such storage cannot practically be performed by the human mind because the human mind is not equipped to electronically store digital data.
  • One or more functions associated with the methods and/or processes described herein may operate to cause an action by a processing module directly in response to a triggering event - - without any intervening human interaction between the triggering event and the action. Any such actions may be identified as being performed “automatically”, “automatically based on” and/or “automatically in response to” such a triggering event. Furthermore, any such actions identified in such a fashion specifically preclude the operation of human activity with respect to these actions - even if the triggering event itself may be causally connected to a human activity of some kind.
  • phase gate does not change the aforementioned bitmask and CX gate changes it according to the rule presented in the Figure 2A.
  • the application of the CX gate is equivalent to replacing the state of the target wire with the XOR (i.e. sum modulo 2) of the states from before the gate application.
  • the state of k-th qubit after execution of a CX circuit c is an inner product of original state and v k (len(c)).
  • b>
  • 1011> will be changed into
  • (vo(4), b> ⁇ vi(4), b> ⁇ (v 2 (4), b> ⁇ (v 3 (4), b»
  • 0010> will be changed into 11110>.
  • the sequence of signatures generated on target wires is [011, 101, 110, 111, 001, 010],
  • the wire signatures at the end of execution are [010, 001, 100],

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Logic Circuits (AREA)

Abstract

A TDGn quantum circuit on n wires includes a first set of circuits and a plurality of CX gates appended to the first set of circuits to generate a plurality of additional circuits, wherein each of the additional circuits is formed by appending a CX gate of the plurality of CX gates in a corresponding one of a plurality of configurations to one circuit of a first set of circuits. The TDGn quantum circuit further includes a second set of circuits, wherein the second set of circuits is generated by an iterative selection procedure.

Description

METHOD FOR IMPLEMENTING A DIAGONAL OPERATOR ON A RESTRICTED TOPOLOGY VIA A QUANTUM LOGIC CIRCUIT
Inventors:
Jan Tulowiecki, Konrad Deka, Jan Marian Gwinner, Witold Jarnicki, Lukasz Czerwinski
BACKGROUND OF THE INVENTION
TECHNICAL FIELD OF THE INVENTION
[0001] This invention relates generally to computer systems and particularly to quantum computing techniques and circuits.
DESCRIPTION OF RELATED ART
[0002] Computing devices are known to communicate data, process data, and/or store data. Such computing devices range from wireless smartphones, laptops, tablets, personal computers (PC), work stations, smart watches, connected cars, and video game devices, to web servers and data centers that support millions of web searches, web applications, or on-line purchases every day. In general, a computing device includes a processor, a memory system, user input/output interfaces, peripheral device interfaces, and an interconnecting bus structure.
[0003] Classical digital computing devices operate based on data encoded into binary digits (bits), each of which has one of the two definite binary states (i.e., 0 or 1). In contrast, a quantum computer utilizes quantum-mechanical phenomena to encode data as quantum bits or qubits, which can be in superpositions of the traditional binary states.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0004] Figure 1 A is a schematic block diagram of a prior art quantum circuit;
[0005] Figure IB is a block diagram of an example quantum computing architecture;
[0006] Figure 1C is a block diagram of an example SPA sequence of CX gates;
[0007] Figures 2A - 2N are schematic/block diagrams of example quantum circuits;
[0008] Figure 3 A is a flowchart representation of an example method;
[0009] Figure 3B is a schematic/block diagram of an example quantum circuit;
[0010] Figure 4A is a block diagram of an example quantum computing architecture;
[0011] Figures 4B - 4C are schematic/block diagrams of example quantum circuits;
[0012] Figures 4D - 4G are schematic/block diagrams of example equivalency rules;
[0013] Figure 5 is a flow diagram of an example method. DETAILED DESCRIPTION OF THE INVENTION
[0014] Figure 1A is a schematic block diagram 100 of a prior art quantum circuit. In particular, a quantum circuit implementation of Grover’s algorithm is presented. Grover's algorithm is a quantum algorithm that finds, with high probability, a quantum solution. Grover's algorithm is based on the unique input to a black box function or other function called a “quantum oracle”, “oracle operator”, “oracle function” or simply “oracle” that produces a particular output value. Grover's algorithm converges in just O(sqrt(N)) evaluations of the oracle function, where N is the size of the function's domain. Grover’ s algorithm has been applied to the problem of unstructured database search, or more generally the inversion of a function.
[0015] In operation, n qubits are initialized and applied to a corresponding number of Hadamard (H) gates. Each input is Hadamard transformed in order to achieve a uniform superposition of all the initial states. An oracle gate (O) performs an oracle call for each of the transformed qubit states and a diffusion gate (G) performs the Grover diffusion operator. This process is repeated 0(sqrt(7V)) times. A measurement of the qubits after this point yields the quantum solution with a probability that approaches 1 for large values of N. See e.g., John Wright, Lecture 4: Grover’s Algorithm, Carnegie Mellon University, Sept. 21, 2015.
[0016] Figure IB is a block diagram of an example quantum computing architecture. Various quantum algorithms, such as Grover search or QAOA, require implementation of arbitrary diagonal operators. Inevitably, to execute those operators on the physical devices, they must be first decomposed into the hardware’s native gate set. The decomposition strategy may be greatly impacted by the qubit connectivity of the target device. While this problem has been studied for a fully connected topology, a method of constructing generic diagonal circuits with lower connectivity of qubits, can prove to be of more use in real-life situations.
[0017] Appendix A presents a discussion about the structure of solutions in the general case. Three different variants of the problems (independent from target topologies) are presented along with the motivation behind them. In particular, variants called WPA (Wire Permutation Allowed) and SPA (State Permutation Allowed) and their applications in quantum algorithms are presented along with a comprehensive description of a general solution to the decomposition problem on fully connected topology. A solution to the problem on restricted topologies, including linear and circular topologies is presented. Furthermore, a method for generating circuits having the desired properties are also described.
[0018] In the example shown, a quantum circuit 110 is presented having n wires (n qubits) that has been generated based on a decomposition of a diagonal operator on a restricted topology - in this case a linear topology, and in a variant where state permutation is allowed. In operation, the quantum circuit 110 generates a quantum computing result based on a measurement from the plurality of qubits - with or without the use of additional (ancillary or ancilla) working qubits. In particular, the quantum circuit 110 can be used in circuit implementations of quantum solutions based on the application of Grover’s Algorithm or other diffusion-based quantum solutions.
[0019] The quantum circuit 110 includes a sequence of CX gates on the n wires in a variant where state permutation is allowed. In the context of this disclosure this can be referred to as SPAn sequence of CX gates 112 or more simply as SPAn. The quantum circuit 110 further includes phase gates 113. These phase gates can be arranged, for example so that a phase gate is inserted following each of the CX gates of the SPAn sequence of CX gates. Consider the example SPA4 sequence of CX gates shown in Figure 2M. In Figure 2N, a phase gate (P) is inserted following each of the CX gates of the SPA4. The inclusion of these phase gates 113 with the SPAn sequence of CX gates 112 creates an SPAn circuit (or gate) that can generate, based on the determination of the corresponding phases of the phase gates 113, a quantum solution for any diagonal operator on a linear topology. While a quantum circuit 110 is shown with an SPA implementations, NPA and WPA implementations of quantum circuit 110 can likewise be employed, as discussed in conjunction with Appendix A.
[0020] Figure 1C is a block diagram of an example SPA sequence of CX gates. Following the discussion of Appendix A, SPAn can be generated recursively based on SPAn-1 sequence of gates 126, a GRAYn circuit 124 and swap operations 122. Further consider a quantum circuit 110 having z wires. Decomposition can be performed by:
(a) setting n wires, where n = 2;
(b) generating a SPAn sequence of CX gates on the n wires by:
(c) providing a sequence of at least one forward swap on the n wires;
(d) providing a GRAYn circuit on the n wires, wherein the GRAYn circuit includes a plurality of additional CX gates;
(e) providing a sequence of at least one reverse swap on the n wires that reverses the operations provided in step (c); and
(f) providing a SPAn-y sequence of CX gates on the first n - 1 wires of the n wires;
(g) incrementing n and repeating steps (c) - (f);
(h) when n = z, inserting 2n-1 phase gates in the SPAn sequence of CX gates, wherein each of the phase gates has a corresponding phase.
Other iterative and recursive methodologies can likewise be employed. [0021] The quantum circuit 110 further includes diffusion gates 114 such as Grover diffusion gates (G) or other diffusion gates that apply one or more different diffusion operators. The quantum circuit 110 can further include one or more other quantum gates such as, Hadamard (H) gates, X gates, Y gates, Z gates, phase shift gates, other controlled gates, swap gates, Toffoli gates, Deutsch gates, Ising gates, Fredkin gates, Adalus gates and/or other quantum logic gates and combinations thereof in various other circuit configurations.
[0022] In various examples, the SPAn sequence of CX gates 112, the phase gates 113, and diffusion gates 114, and other gates (when present) of the quantum circuit 110 can be implemented with one or more processing devices. Each such processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. Each such processing device can operate in conjunction with an attached memory and/or an integrated memory element such as classical memory or other memory device, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
[0023] Note that if the quantum circuit 110 is implemented via more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network). Further note that if the quantum circuit 110 implements one or more of its gates or other functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, a memory can store, and a processing device can execute, hard coded and/or other operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be tangible memory device or other non-transitory storage medium included in or implemented as an article of manufacture.
[0024] Further discussion regarding the operation of the quantum circuit 110, including several optional functions and features are described in conjunction with the figures that follow. [0025] Figure 3 A is a flowchart representation of an example method. In particular a method 300 is presented for use with one or more functions and features described in conjunction herein for generating a quantum circuit having z wires on a restricted topology, where z is greater than 3. Step 302 includes setting n = 2. An SPAn sequence of CX gates on the n wires is generated by steps 304, 306, 308 and 310. Step 304 includes providing a sequence of at least one forward swap on the n wires. Step 306 includes providing a GRAYn circuit on the n wires, wherein the GRAYn circuit includes a plurality of additional CX gates. Step 308 includes providing a sequence of at least one reverse swap on the n wires that reverses the operations provided in step 304. Step 310 includes providing a SPAn-1 sequence of CX gates on the first n - 1 wires of the n wires. Step 312 includes incrementing n and repeating steps 304 - 310 when n < z. Step 314 includes inserting 2”-l phase gates in the SPAn sequence of CX gates when n = z, wherein each of the phase gates has a corresponding phase.
[0026] In addition or in the alternative, z = 5 and the SPAn sequence of CX gates comprises a SPA-TDG5 sequence of CX gates on five wires.
[0027] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
[0028] In addition or in the alternative, z = 4 and the SPAn sequence of CX gates comprises a SPA-TDG4 sequence of CX gates on four wires.
[0029] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
[0030] In addition or in the alternative, any of the methods above can be used to generate a quantum circuit having z wires.
[0031] While the preceding description provides methodologies for generating quantum circuits on restricted topologies based on sequences of CX gates. There are methods for reducing the number of CS gates in some cases. These techniques can be used to exploiting symmetries contained in a particular diagonal operators to obtain lower CX count compared to the solutions provided by the general framework. Two such methods are presented in Appendix B.
[0032] While several techniques have been presented for generating quantum circuits on restricted topologies based on sequences of CX gates, other quantum circuit solutions exist for such problems that minimize or otherwise reduce the number of required CX gates. These solutions on n wires (where n > 3) are referred to as Tulowiecki-Deka-Gwinner (TDGn) gates (or circuits). This disclosure will also present a nomenclature for describing the particular sequence of CX gates on n wires for such TDGn gates, enumerate the TDGn gates for n = 4 and n = 5 for variants NPA (NPA-TDGn gates) and SPA (SPA-TDGn gates).
[0033] An example process of generating TDGn gates can be described as follows. In particular, a method is described for finding relatively short circuits solving the Diagonal Operator Decomposition problem (and its respective variants) on restricted topologies. This method produces TDGn gates that provide reasonably short solutions to the problem with much smaller consumption of classical resources (primarily CPU time).
[0034] The method has several meta-parameters that allow for trade-offs between CPU time, memory consumption and solution quality (computed as number of CX gates in the resulting circuit). The meta-parameters will be introduced in the description, when they are relevant.
[0035] Consider a solution “pool”, which in the beginning contains a single circuit - the empty circuit. The pool size during the method execution is bounded from top by a meta parameter MAX_POOL_SIZE. We then execute the following routine (1), until at least one element of the pool solves the required variant.
[0036] Routine (1) : create a new solution pool, “pool2”. For each element of the pool, copy the circuit relevant number of times and append to each a different allowed CX gate. Add each of those new circuits to pool2. We introduce a meta parameter POOL SIZE MULT. There are two possibilities:
[0037] After addition of the new circuit, size of pool2 is less than POOL_SIZE_MULT *
[0038] MAX POOL SIZE. We simply proceed to the next circuit.
[0039] The size of pool2 is equal to POOL SIZE MULT * MAX POOL SIZE. We then remove a random element from pool2 before adding the new circuit. The removed element should be randomly selected among those with the worst score (scoring strategies are discussed below). [0040] After executing routine (1) until pool is empty, we remove duplicate circuits from pool2. This motivates POOL SIZE MULT parameter - we allow for more elements in pool2 during execution of routine (1), so that after duplicates removal size of pool2 is roughly equal to MAX_POOL_SIZE. If, after this deduplication, the size of pool2 still exceeds MAX POOL SIZE, we again remove random worst-scoring elements of the pool, until the size of pool2 becomes MAX_POOL_SIZE. Finally, we substitute pool := pool2 for the next iteration. [0041] For efficient implementation, we use non-volatile, hard drive memory. Instead of remembering the whole circuit, we only remember the current and enumerated wire signatures in the pool. We save those to the hard drive after assignment pool := pool2. We will then be able to reconstruct the circuit based on the saved files and backtracking the wire signatures from the final one, by enumerating possible CX gates that enabled the step. In this way, each element of the pool can be stored using less memory (than would be needed for a full circuit). [0042] The pools should be implemented using contiguous segments of memory to enhance CPUcache usage. Practical values of the meta-parameters are as follows:
Figure imgf000009_0001
The score function is dependent on the variant solved. The functions used are as follows:
Figure imgf000009_0002
[0043] Figure 4A is a block diagram of an example quantum computing architecture. In particular, a quantum circuit 410 is shown with an associated k-qubit quantum register 420. The quantum circuit 410 includes one or more TDGn gates 412 (where n is less than or equal to k), one or more diffusion (G) gates 114 and/or one or more other quantum logic gates 416.
[0044] The other quantum logic gates 116, when present, can further include Hadamard (H) gates, X gates, Y gates, Z gates, phase shift gates, controlled gates, such as CX, CY and/or CZ gates, swap gates, Toffoli gates, Deutsch gates, Ising gates, Fredkin gates, Adalus gates and/or other quantum logic gates and combinations thereof in various circuit configurations. In operation, the quantum circuit 410 generates a quantum computing result based on a measurement from the k of qubits - with or without the use of additional (ancillary or ancilla) working qubits.
[0045] In various examples, the various gates the quantum circuit 410 can be implemented with one or more processing devices. Each such processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. Each such processing device can operate in conjunction with an attached memory and/or an integrated memory element such as classical memory or other memory device, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information.
[0046] Note that if the quantum circuit 410 is implemented via more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network). Further note that if the quantum circuit 410 implements one or more of its gates or other functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, a memory can store, and a processing device can execute, hard coded and/or other operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be tangible memory device or other non-transitory storage medium included in or implemented as an article of manufacture.
[0047] Figures 4B - 4C are schematic/block diagrams of example quantum circuits. These examples can be used to illustrate a nomenclature for describing the particular sequence of CX gates on n wires for TDGn gates 412. As used herein TDG4 refers to any one of the possible TDGn gates 412, where n = 4. A prepending designation “NPA-“, or “SPA-“ refers to the corresponding variant.
[0048] Figure 4B presents the sequence of 14 CX gates on 4 wires corresponding to the first SPA-TDG4gate, (SPA-TDG4-1). Each CX gate in the sequence can be described by a number pair (a, b) where b represents the number of the wire to be controlled and a represents the number of the controlling wire. In this fashion, the first CX gate in the sequence (left to right) is (1, 0), the second CX gate is (1, 2). Using this convention, the unique sequence of CXs in the SPA-TDG4-1 gate can be described as:
(1, 0) (1, 2) (3, 2) (2, 1) (1, 2) (0, 1) (1, 0) (2, 1) (3, 2) (2, 1) (0, 1) (3, 2) (2, 1) (1, 0)
Adding the phase gates (P) to correspond to each of the CX gates in this sequence results in the SPA-TDG4-1 gate shown in Figure 4C. [0049] Figures 4D - 4G are schematic/block diagrams of example equivalency rules. Sets of the TDG4 gates and TDG5 gates can be generated based on solutions found using the heuristic TDG sequence generation process previously described along with the application of different equivalency rules. In Figure 4D, the order of two subsequent CX gates with disjoint sets of operating qubits is irrelevant for correct enumeration of state subsets. This rule may be applied without regard to orientation of CX in question. In Figure 4E, the order of two subsequent CX gates sharing a control qubit is irrelevant for correct enumeration of state subsets. In Figure 4F, the whole circuit may be reversed and the whole circuit may be applied to the reversed order of the wires without affecting the correctness of the solution. In Figure 4G, in the case of SPA circuits, direction of the last CX in the circuit does not matter for solution correctness. This rule, together with the previous rule of Figure 4F, means that the direction of the first CX in the circuit may be changed freely as well.
[0050] In various examples, the equivalency rules can be applied until the lexicographically smallest equivalent solution is obtained. The solution is lexicographically smaller, if its transcription into a list of pairs treated as a string is lexicographically smaller. These solutions (called normalized solutions) are then sorted lexicographically and any duplicates are removed. To check whether a solution is equivalent to one of the listed solutions, one can simply compute the corresponding normalized solution and check its presence on the lists provided below. [0051] A full set of CX sequences for all NPA-TDG4 gates is shown below:
Figure imgf000011_0001
Figure imgf000012_0001
Figure imgf000013_0001
In a similar fashion to FIG. 4C, adding the phase gates (P) to follow each of the CX gates in the sequences above results in the circuits corresponding to the SPA-TDG4-i gates, z = 1, 2, ... 86.
[0052] A full set of CX sequences for all NPA-TDG4 gates is shown below:
Figure imgf000014_0001
In a similar fashion to FIG. 4C, adding the phase gates (P) to follow each of the CX gates in the sequences above results in the circuits corresponding to the NPA-TDG4-i gates, z = 1, 2, ... 4.
[0053] A full set of CX sequences for all SPA-TDG5 gates is shown below:
Figure imgf000014_0002
SPA-TDG5-8: (2, 1) (3, 2) (4, 3) (2, 3) (1, 2) (0, 1) (2, 3) (1, 2) (2, 1) (3, 2) (4, 3) (3, 2) (1, 2) (0, 1) (2, 3) (1, 2) (0, 1) (3, 2) (1, 2) (3, 4) (4, 3) (2, 3) (3, 2) (2, 1) (1, 2) (0, 1) (2, 1) (3, 2) (4, 3) (3, 2) (2, 1)
In a similar fashion to FIG. 4C, adding the phase gates (P) to follow each of the CX gates in the sequences above results in the circuits corresponding to the SPA-TDG5-i gates, z = 1, 2, ... 8.
[0054] A full set of CX sequences for all NPA-TDG5 gates is shown below:
Figure imgf000015_0001
Figure imgf000016_0001
Figure imgf000017_0001
Figure imgf000018_0001
Figure imgf000019_0001
Figure imgf000020_0001
Figure imgf000021_0001
Figure imgf000022_0001
Figure imgf000023_0001
In a similar fashion to FIG. 4C, adding the phase gates (P) to follow each of the CX gates in the sequences above results in the circuits corresponding to the NPA-TDG5-/ gates, z = 1, 2, ... 96.
[0055] Figure 5 is a flow diagram of an example method. In particular a method 500 is presented for use with one or more functions and features described in conjunction herein for generating a TDGn circuit (e.g. NPA- TDGn or SPA- TDGn) having z wires on a restricted topology, where n is greater than 3. Step 502 includes generating a first set of circuits. Step 504 includes generating additional circuits, wherein each of the additional circuits is formed by appending a CX gate in a corresponding one of a plurality of configurations to one circuit of the first set of circuits. Step 506 includes generating a second set of circuits by: sequentially adding, ones of the additional circuits to the second set of circuits when a number of circuits in the second set of circuits is less than a first threshold number; when the number of circuits in the second set of circuits reaches the first maximum number, scoring the circuits added to the second set of circuits, removing a circuit from the second set of circuits based on a scoring criteria, and adding a next one of the additional circuits to the second set of circuits; continuing until each of the additional circuits have been added to the second set of circuits; removing duplicate circuits from the second set of circuits; when the number of circuits in the second set of circuits is greater than a second threshold number, removing circuits from the second set of circuits based on the scoring criteria until the number of circuits in the second set of circuits is equal to the second threshold number; and scoring the second set of circuits based on a scoring threshold.
[0056] When none of the second set of circuits reaches the scoring threshold, the method proceeds to step 508 which includes updating the first set of circuits as the second set of circuits. The method proceeds to repeat steps 504 and 506. When one of the second set of circuits reaches the scoring threshold, the method proceeds to step 510 which includes selecting a TDGn sequence of CX gates as the one of the second set of circuits that reaches the scoring threshold. Step 512 includes adding a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the TDGn sequence of CX gates on a corresponding one of the n wires.
[0057] In addition or in the alternative, n = 5 and the TDGn sequence of CX gates comprises a SPA-TDG5 sequence of CX gates on five wires. [0058] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
[0059] In addition or in the alternative, n = 4 and the TDGn sequence of CX gates comprises a SPA-TDG4 sequence of CX gates on four wires.
[0060] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
[0061] In addition or in the alternative, n = 5 and the TDGn sequence of CX gates comprises a NPA-TDGs sequence of CX gates on five wires.
[0062] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDGs sequence of CX gates on a corresponding one of the five wires.
[0063] In addition or in the alternative, n = 4 and the TDGn sequence of CX gates comprises a NPA-TDG4 sequence of CX gates on four wires.
[0064] In addition or in the alternative, each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
[0065] In addition or in the alternative, z = 4 or 5 and the SPA» sequence of CX gates comprises a WPA-TDGn.
[0066] In addition or in the alternative, a quantum circuit comprises a TDGn circuit generated by any of the methodologies described above.
[0067] It is noted that terminologies as may be used herein such as bit stream, stream, signal sequence, etc. (or their equivalents) have been used interchangeably to describe digital information whose content corresponds to any of a number of desired types (e.g., data, video, speech, text, graphics, audio, etc. any of which may generally be referred to as ‘data’).
[0068] As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. For some industries, an industry-accepted tolerance is less than one percent and, for other industries, the industry-accepted tolerance is 10 percent or more. Other examples of industry-accepted tolerance range from less than one percent to fifty percent. Industry-accepted tolerances correspond to, but are not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, thermal noise, dimensions, signaling errors, dropped packets, temperatures, pressures, material compositions, and/or performance metrics. Within an industry, tolerance variances of accepted tolerances may be more or less than a percentage level (e.g., dimension tolerance of less than +/- 1%). Some relativity between items may range from a difference of less than a percentage level to a few percent. Other relativity between items may range from a difference of a few percent to magnitude of differences.
[0069] As may also be used herein, the term(s) “configured to”, “operably coupled to”, “coupled to”, and/or “coupling” includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for an example of indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”.
[0070] As may even further be used herein, the term “configured to”, “operable to”, “coupled to”, or “operably coupled to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform, when activated, one or more its corresponding functions and may further include inferred coupling to one or more other items. As may still further be used herein, the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item.
[0071] As may be used herein, the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1. As may be used herein, the term “compares unfavorably”, indicates that a comparison between two or more items, signals, etc., fails to provide the desired relationship.
[0072] As may be used herein, one or more claims may include, in a specific form of this generic form, the phrase “at least one of a, b, and c” or of this generic form “at least one of a, b, or c”, with more or less elements than “a”, “b”, and “c”. In either phrasing, the phrases are to be interpreted identically. In particular, “at least one of a, b, and c” is equivalent to “at least one of a, b, or c” and shall mean a, b, and/or c. As an example, it means: “a” only, “b” only, “c” only, “a” and “b”, “a” and “c”, “b” and “c”, and/or “a”, “b”, and “c”.
[0073] As may also be used herein, the terms “processing module”, “processing circuit”, “processor”, “processing circuitry”, and/or “processing unit” may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, microcontroller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module, module, processing circuit, processing circuitry, and/or processing unit may be, or further include, memory and/or an integrated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuitry, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that if the processing module, module, processing circuit, processing circuitry, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network). Further note that if the processing module, module, processing circuit, processing circuitry and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, the memory element may store, and the processing module, module, processing circuit, processing circuitry and/or processing unit executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be included in an article of manufacture. [0074] One or more examples have been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claims. Further, the boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality.
[0075] To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claims. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
[0076] In addition, a flow diagram may include a “start” and/or “continue” indication. The “start” and “continue” indications reflect that the steps presented can optionally be incorporated in or otherwise used in conjunction with one or more other routines. In addition, a flow diagram may include an “end” and/or “continue” indication. The “end” and/or “continue” indications reflect that the steps presented can end as described and shown or optionally be incorporated in or otherwise used in conjunction with one or more other routines. In this context, “start” indicates the beginning of the first step presented and may be preceded by other activities not specifically shown. Further, the “continue” indication reflects that the steps presented may be performed multiple times and/or may be succeeded by other activities not specifically shown. Further, while a flow diagram indicates a particular ordering of steps, other orderings are likewise possible provided that the principles of causality are maintained.
[0077] The one or more examples are used herein to illustrate one or more aspects, one or more features, one or more concepts, and/or one or more examples. A physical example of an apparatus, an article of manufacture, a machine, and/or of a process may include one or more of the aspects, features, concepts, examples, etc. described with reference to one or more of the examples discussed herein. Further, from figure to figure, the examples may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numbers and, as such, the functions, steps, modules, etc. may be the same or similar functions, steps, modules, etc. or different ones.
[0078] Unless specifically stated to the contra, signals to, from, and/or between elements in a figure of any of the figures presented herein may be analog or digital, continuous time or discrete time, and single-ended or differential. For instance, if a signal path is shown as a single-ended path, it also represents a differential signal path. Similarly, if a signal path is shown as a differential path, it also represents a single-ended signal path. While one or more particular architectures are described herein, other architectures can likewise be implemented that use one or more data buses not expressly shown, direct connectivity between elements, and/or indirect coupling between other elements as recognized by one of average skill in the art.
[0079] The term “module” is used in the description of one or more of the examples. A module implements one or more functions via a device such as a processor or other processing device or other hardware that may include or operate in association with a memory that stores operational instructions. A module may operate independently and/or in conjunction with software and/or firmware. As also used herein, a module may contain one or more sub-modules, each of which may be one or more modules.
[0080] As may further be used herein, a computer readable memory includes one or more memory elements. A memory element may be a separate memory device, multiple memory devices, or a set of memory locations within a memory device. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, a quantum register or other quantum memory and/or any other device that stores data in a non-transitory manner. Furthermore, the memory device may be in a form of a solid-state memory, a hard drive memory or other disk storage, cloud memory, thumb drive, server memory, computing device memory, and/or other non-transitory medium for storing data. The storage of data includes temporary storage (i.e., data is lost when power is removed from the memory element) and/or persistent storage (i.e., data is retained when power is removed from the memory element). As used herein, a transitory medium shall mean one or more of: (a) a wired or wireless medium for the transportation of data as a signal from one computing device to another computing device for temporary storage or persistent storage; (b) a wired or wireless medium for the transportation of data as a signal within a computing device from one element of the computing device to another element of the computing device for temporary storage or persistent storage; (c) a wired or wireless medium for the transportation of data as a signal from one computing device to another computing device for processing the data by the other computing device; and (d) a wired or wireless medium for the transportation of data as a signal within a computing device from one element of the computing device to another element of the computing device for processing the data by the other element of the computing device. As may be used herein, a non-transitory computer readable memory is substantially equivalent to a computer readable memory. A non- transitory computer readable memory can also be referred to as a non-transitory computer readable storage medium.
[0081] One or more functions associated with the methods and/or processes described herein can be implemented via a processing module that operates via the non-human “artificial” intelligence (Al) of a machine. Examples of such Al include machines that operate via anomaly detection techniques, decision trees, association rules, expert systems and other knowledge-based systems, computer vision models, artificial neural networks, convolutional neural networks, support vector machines (SVMs), Bayesian networks, genetic algorithms, feature learning, sparse dictionary learning, preference learning, deep learning and other machine learning techniques that are trained using training data via unsupervised, semi-supervised, supervised and/or reinforcement learning, and/or other Al. The human mind is not equipped to perform such Al techniques, not only due to the complexity of these techniques, but also due to the fact that artificial intelligence, by its very definition - requires “artificial” intelligence - i.e. machine/non-human intelligence.
[0082] One or more functions associated with the methods and/or processes described herein can be implemented as a large-scale system that is operable to receive, transmit and/or process data on a large-scale. As used herein, a large-scale refers to a large number of data, such as one or more kilobytes, megabytes, gigabytes, terabytes or more of data that are received, transmitted and/or processed. Such receiving, transmitting and/or processing of data cannot practically be performed by the human mind on a large-scale within a reasonable period of time, such as within a second, a millisecond, microsecond, a real-time basis or other high speed required by the machines that generate the data, receive the data, convey the data, store the data and/or use the data.
[0083] One or more functions associated with the methods and/or processes described herein can require data to be manipulated in different ways within overlapping time spans. The human mind is not equipped to perform such different data manipulations independently, contemporaneously, in parallel, and/or on a coordinated basis within a reasonable period of time, such as within a second, a millisecond, microsecond, a real-time basis or other high speed required by the machines that generate the data, receive the data, convey the data, store the data and/or use the data.
[0084] One or more functions associated with the methods and/or processes described herein can be implemented in a system that is operable to electronically receive digital data via a wired or wireless communication network and/or to electronically transmit digital data via a wired or wireless communication network. Such receiving and transmitting cannot practically be performed by the human mind because the human mind is not equipped to electronically transmit or receive digital data, let alone to transmit and receive digital data via a wired or wireless communication network.
[0085] One or more functions associated with the methods and/or processes described herein can be implemented in a system that is operable to electronically store digital data in a memory device. Such storage cannot practically be performed by the human mind because the human mind is not equipped to electronically store digital data.
[0086] One or more functions associated with the methods and/or processes described herein may operate to cause an action by a processing module directly in response to a triggering event - - without any intervening human interaction between the triggering event and the action. Any such actions may be identified as being performed “automatically”, “automatically based on” and/or “automatically in response to” such a triggering event. Furthermore, any such actions identified in such a fashion specifically preclude the operation of human activity with respect to these actions - even if the triggering event itself may be causally connected to a human activity of some kind.
[0087] While particular combinations of various functions and features of the one or more examples have been expressly described herein, other combinations of these features and functions are likewise possible. The present disclosure is not limited by the particular examples disclosed herein and expressly incorporates these other combinations.
APPENDIX A
Figure imgf000031_0001
Figure imgf000031_0002
2. General Case
Let us consider how circuits containing only phase and CX gates behave on computational basis states, which are n-bit long bitmasks. Obviously, the phase gate does not change the aforementioned bitmask and CX gate changes it according to the rule presented in the Figure 2A. In particular, the application of the CX gate is equivalent to replacing the state of the target wire with the XOR (i.e. sum modulo 2) of the states from before the gate application.
Figure imgf000031_0003
As shown in Figure 2B, the state of k-th qubit after execution of a CX circuit c is an inner product of original state and vk(len(c)). In this example, state |b> = |1011> will be changed into |(vo(4), b><vi(4), b>< (v2(4), b>< (v3(4), b» = |1001>, and state |0010> will be changed into 11110>.
Figure imgf000032_0001
Figure 2D presents one of the shortest circuits for n = 3 for the WPA variant. The sequence of signatures generated on target wires is [011, 101, 110, 111, 001, 010], The wire signatures at the end of execution are [010, 001, 100],
Figure imgf000033_0001
Figure imgf000033_0002
4. SOLUTION
Actual solution b strongly dependent on the topology of the device. We describe solutions to a selection of topologies.
Figure imgf000034_0001
Figure imgf000034_0002
Figure imgf000035_0001
Figure imgf000036_0001
Figure imgf000037_0001
Figure imgf000038_0001
Figure imgf000039_0001
3 Appendix B
Figure imgf000040_0001

Claims

CLAIMS What is claimed is:
1. A TDGn quantum circuit on n wires comprising: a first set of circuits;
5 a plurality of CX gates appended to the first set of circuits to generate a plurality of additional circuits, wherein each of the additional circuits is formed by appending a CX gate of the plurality of CX gates in a corresponding one of a plurality of configurations to one circuit of a first set of circuits; and a second set of circuits, wherein the second set of circuits is generated by:
10 (a) sequentially adding, ones of the additional circuits to the second set of circuits when a number of circuits in the second set of circuits is less than a first threshold number;
(b) when the number of circuits in the second set of circuits reaches the first maximum number, scoring the circuits added to the second set of circuits, removing a
15 circuit from the second set of circuits based on a scoring criteria, and adding a next one of the additional circuits to the second set of circuits;
(c) continuing until each of the additional circuits have been added to the second set of circuits;
(d) remove duplicate circuits from the second set of circuits;
20 (e) when the number of circuits in the second set of circuits is greater than a second threshold number, removing circuits from the second set of circuits based on the scoring criteria until the number of circuits in the second set of circuits is equal to the second threshold number;
(f) scoring the second set of circuits based on a scoring threshold;
25 (g) when none of the second set of circuits reaches the scoring threshold, updating the first set of circuits as the second set of circuits, and repeating steps (a) - (f);
(h) when one of the second set of circuits reaches the scoring threshold, selecting a TDGn sequence of CX gates as the one of the second set of circuits that reaches the scoring threshold; and (i) adding a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the TDGn sequence of CX gates on a corresponding one of the n wires.
2. The quantum circuit of claim 1, wherein n = 5 and the TDGn sequence of CX gates
5 comprises a SPA-TDG5 sequence of CX gates on five wires.
3. The quantum circuit of claim 2, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
4. The quantum circuit of claim 1, wherein n = 4 and the TDGn sequence of CX gates
10 comprises a SPA-TDG4 sequence of CX gates on four wires.
5. The quantum circuit of claim 4, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
6. The quantum circuit of claim 1, wherein n = 5 and the TDGn sequence of CX gates
15 comprises a NPA-TDGs sequence of CX gates on five wires.
The quantum circuit of claim 6, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
8. The quantum circuit of claim 1, wherein n = 4 and the TDGn sequence of CX gates
20 comprises a NPA-TDG4 sequence of CX gates on four wires.
9. The quantum circuit of claim 8, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
10. The quantum circuit of claim 1, wherein z = 5 and the SPAn sequence of CX gates
25 comprises a WPA-TDGn
11. A method for generating a TDGn quantum circuit on n wires, the method comprising:
(a) generating a first set of circuits; (b) generating additional circuits, wherein each of the additional circuits is formed by appending a CX gate in a corresponding one of a plurality of configurations to one circuit of the first set of circuits;
(c) generating a second set of circuits by:
5 (d) sequentially adding, ones of the additional circuits to the second set of circuits when a number of circuits in the second set of circuits is less than a first threshold number;
(e) when the number of circuits in the second set of circuits reaches the first maximum number, scoring the circuits added to the second set of circuits, removing a
10 circuit from the second set of circuits based on a scoring criteria, and adding a next one of the additional circuits to the second set of circuits;
(f) continuing until each of the additional circuits have been added to the second set of circuits;
(g) remove duplicate circuits from the second set of circuits;
15 (h) when the number of circuits in the second set of circuits is greater than a second threshold number, removing circuits from the second set of circuits based on the scoring criteria until the number of circuits in the second set of circuits is equal to the second threshold number;
(i) scoring the second set of circuits based on a scoring threshold;
20 (j) when none of the second set of circuits reaches the scoring threshold, updating the first set of circuits as the second set of circuits, and repeating steps (d) - (i);
(k) when one of the second set of circuits reaches the scoring threshold, selecting a TDGn sequence of CX gates as the one of the second set of circuits that reaches the scoring threshold; and
25 (1) adding a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the TDGn sequence of CX gates on a corresponding one of the n wires.
12. The method of claim 11, wherein n = 5 and the TDGn sequence of CX gates comprises a SPA-TDG5 sequence of CX gates on five wires.
13 The method of claim 12, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
14. The method of claim 11, wherein n = 4 and the TDGn sequence of CX gates comprises a
5 SPA-TDG4 sequence of CX gates on four wires.
15. The method of claim 14, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
16. The method of claim 11, wherein n = 5 and the TDGn sequence of CX gates comprises a
10 NPA-TDGs sequence of CX gates on five wires.
17. The method of claim 16, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDGs sequence of CX gates on a corresponding one of the five wires.
18. The method of claim 11, wherein n = 4 and the TDGn sequence of CX gates comprises a
15 NPA-TDG4 sequence of CX gates on four wires.
19. The method of claim 18, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
20. The method of claim 11, wherein z = 5 and the SPA» sequence of CX gates comprises a
20 WPA-TDG,.
21. A method for generating a quantum circuit having z wires based on a decomposition of a diagonal operator on a restricted topology, the method comprising:
(a) setting n wires, where n = 2;
(b) generating a SPA» sequence of CX gates on the n wires by:
25 (c) providing a sequence of at least one forward swap on the n wires;
(d) providing a GRAYn circuit on the n wires, wherein the GRAYn circuit includes a plurality of additional CX gates;
(e) providing a sequence of at least one reverse swap on the n wires that reverses the operations provided in step (c); and (f) providing a SPAn-y sequence of CX gates on the first n - 1 wires of the n wires;
(g) incrementing n and repeating steps (c) - (f); and
(h) when n = z, inserting 2”-l phase gates in the SPAn sequence of CX gates, wherein
5 each of the phase gates has a corresponding phase.
22. The method of claim 21, wherein z = 5 and the SPAn sequence of CX gates comprises a SPA-TDG5 sequence of CX gates on five wires.
23. The method of claim 22, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding
10 one of the five wires.
24. The method of claim 21, wherein z = 4 and the SPAn sequence of CX gates comprises a SPA-TDG4 sequence of CX gates on four wires.
25. The method of claim 24, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding
15 one of the four wires.
26. A quantum circuit having z wires comprising: an SPAz sequence of CX gates on the z wires, wherein the SPAz sequence of CX gates on the z wires is generated by:
(a) providing n wires, where n = 2;
20 (b) generating an SPAn sequence of CX gates on the n wires by:
(c) providing a sequence of at least one forward swap on the n wires;
(d) providing a GRAYn circuit on the n wires, wherein the GRAYn circuit includes a plurality of additional CX gates;
(e) providing a sequence of at least one reverse swap on the n wires that reverses
25 the operations provided in step (c); and
(f) providing a SPAn-y sequence of CX gates on the first n - 1 wires of the n wires;
(g) incrementing n and repeating steps (c) - (f) until n = z; and a plurality of 2Z-1 phase gates inserted in the SPAz sequence of CX gates, wherein each of the phase gates has a corresponding phase.
27. The quantum circuit of claim 26, wherein z = 5 and the SPAn sequence of CX gates comprises a SPA-TDG5 sequence of CX gates on five wires.
5 28. The quantum circuit of claim 27, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
29. The quantum circuit of claim 26, wherein z = 4 and the SPAn sequence of CX gates comprises a SPA-TDG4 sequence of CX gates on four wires.
10 30. The quantum circuit of claim 29, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
31. A quantum circuit comprising: a SPA-TDG5 sequence of CX gates on five wires; and
15 a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG5 sequence of CX gates on a corresponding one of the five wires.
32. A quantum circuit comprising: a SPA-TDG4 sequence of CX gates on four wires; and
20 a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the SPA-TDG4 sequence of CX gates on a corresponding one of the four wires.
33. A quantum circuit comprising: a NPA-TDGs sequence of CX gates on five wires; and
25 a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDGs sequence of CX gates on a corresponding one of the five wires.
34. A quantum circuit comprising: a NPA-TDG4 sequence of CX gates on four wires; and a plurality of phase gates, wherein each of the phase gates is inserted after a corresponding one of the CX gates of the NPA-TDG4 sequence of CX gates on a corresponding
5 one of the four wires.
PCT/US2022/045355 2021-10-18 2022-09-30 Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit WO2023069245A1 (en)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US202163262651P 2021-10-18 2021-10-18
US63/262,651 2021-10-18
US202163284486P 2021-11-30 2021-11-30
US202163284492P 2021-11-30 2021-11-30
US202163284473P 2021-11-30 2021-11-30
US202163284481P 2021-11-30 2021-11-30
US63/284,473 2021-11-30
US63/284,492 2021-11-30
US63/284,486 2021-11-30
US63/284,481 2021-11-30
US17/936,527 US20230117527A1 (en) 2021-10-18 2022-09-29 Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit
US17/936,527 2022-09-29

Publications (1)

Publication Number Publication Date
WO2023069245A1 true WO2023069245A1 (en) 2023-04-27

Family

ID=86059569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/045355 WO2023069245A1 (en) 2021-10-18 2022-09-30 Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit

Country Status (1)

Country Link
WO (1) WO2023069245A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180043157A (en) * 2016-10-18 2018-04-27 한국전자통신연구원 Quantum circuit and method for implementation a heterogeneously encoded logical bell state
US20190018912A1 (en) * 2016-01-26 2019-01-17 Michele MOSCA Decoding-Based Method for Quantum Circuit Optimization
WO2020117552A1 (en) * 2018-12-07 2020-06-11 IonQ, Inc. Methods and apparatuses for two-qubit gate reduction in quantum circuits
US20210125096A1 (en) * 2018-06-29 2021-04-29 Yale University Quantum information processing with an asymmetric error channel

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190018912A1 (en) * 2016-01-26 2019-01-17 Michele MOSCA Decoding-Based Method for Quantum Circuit Optimization
KR20180043157A (en) * 2016-10-18 2018-04-27 한국전자통신연구원 Quantum circuit and method for implementation a heterogeneously encoded logical bell state
US20210125096A1 (en) * 2018-06-29 2021-04-29 Yale University Quantum information processing with an asymmetric error channel
WO2020117552A1 (en) * 2018-12-07 2020-06-11 IonQ, Inc. Methods and apparatuses for two-qubit gate reduction in quantum circuits

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARC BATAILLE: "Reduced quantum circuits for stabilizer states and graph states", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 July 2021 (2021-07-02), 201 Olin Library Cornell University Ithaca, NY 14853, XP091006438 *

Similar Documents

Publication Publication Date Title
CN112734034A (en) Model training method, calling method, device, computer equipment and storage medium
WO2022066527A1 (en) Controllable quantum logic gates with measurement and methods for use therewith
EP4035273B1 (en) Design and training of binary neurons and binary neural networks with error correcting codes
US20210287127A1 (en) Quantum circuit and methods for use therewith
WO2023069245A1 (en) Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit
Jiang et al. Learning long sequences in binary neural networks
JP7212891B2 (en) Quantum arithmetic device and method
Wang et al. Arithmetic operations with spiking neural P systems with rules and weights on synapses
Vijayakumari et al. Optimal design of combinational logic circuits using genetic algorithm and Reed-Muller universal logic modules
US11775856B2 (en) Quantum logic circuit with weights and methods for use therewith
Mofrad et al. Nested-clique network model of neural associative memory
WO2022066526A1 (en) Controllable quantum logic gates and methods for use therewith
Bidlo et al. Evolutionary development of growing generic sorting networks by means of rewriting systems
Berry et al. Hermes: an Efficient Algorithm for Building Galois Sub-hierarchies.
WO2023069247A2 (en) Quantum search on n choose k states and circuits for use therewith
Anand et al. Quantum compression with classically simulatable circuits
WO2020049492A1 (en) Probability propagation over factor graphs
Kumagai et al. Ising-Based Combinatorial Clustering Using the Kernel Method
Toh Training a reciprocal-sigmoid classifier by feature scaling-space
Lee et al. Optimizing Quantum Convolutional Neural Network Architectures for Arbitrary Data Dimension
US20230117527A1 (en) Method for implementing a diagonal operator on a restricted topology via a quantum logic circuit
CN116049506B (en) Quantum calculation-based numerical value searching method, device, equipment and storage medium
Smith et al. The inclusion-exclusion rule and its application to the junction tree algorithm
US10922618B2 (en) Multi-pass system for emulating a quantum computer and methods for use therewith
Bisdorff et al. Choice procedures in pairwise comparison multiple-attribute decision making methods

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22884251

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE