IP Library Granted Patent US 12,450,512
Granted Patent B2
US 12,450,512 · App. 17/649,576 · Granted Oct 21, 2025

Controlled propagation of input values in quantum computing

Inventors: Amir Naveh (Haifa, IL); Shmuel Ur (Shorashim, IL)
Assignee: Classiq Technologies LTD.
G06N10/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,450,512
App. No.
17/649,576
Granted
Oct 21, 2025
Kind
B2
Abstract

A method, product and apparatus for controlled propagation of input values in quantum computing. The method comprises obtaining a quantum program to be compiled. The quantum program has a first input qubit having a first value and a second input qubit having a second value. The method comprises identifying an intermediate cycle after which the first input qubit is not used in the quantum program, synthesizing a transformative quantum program that is applicable on a qubit being processed based on the first value and based on the second value; and updating the quantum program which comprises: modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle; and causing the quantum program to utilize the first input qubit instead of the second input qubit.

Claims (44)

1. A method comprising:

obtaining a quantum program to be compiled, wherein the quantum program comprising a first input qubit having a first value and a second input qubit having a second value;

identifying an intermediate cycle after which the first input qubit is not used in the quantum program;

synthesizing a transformative quantum program that is applicable on a qubit being processed, wherein the transformative quantum program is a quantum program that is configured to update a value of the qubit being processed by subtracting from the qubit being processed the first value and by adding to the qubit being processed the second value, wherein said synthesizing is based on the first value and based on the second value, whereby performing controlled propagation on the qubit being processed having the first value and updating the qubit being processed to have the second value;

updating the quantum program, wherein said updating the quantum program comprises:

modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle;

causing the quantum program to utilize the first input qubit instead of the second input qubit.

2. The method of claim 1 further comprises verifying that the first value and the second value have a same computational base.

3. The method of claim 1 ,

wherein said identifying comprises determining that the quantum program does not define a computation on the second input qubit having the second value at a cycle prior to the intermediate cycle,

wherein said causing the quantum program to utilize the first input qubit instead of the second input qubit comprises replacing usage of the second input qubit by the first input qubit.

4. The method of claim 1 ,

wherein said identifying comprises determining that a computation on the second input qubit having the second value at a cycle prior to the intermediate cycle can be delayed to a delayed cycle after the intermediate cycle;

wherein said causing the quantum program to utilize the first input qubit instead of the second input qubit comprises updating the quantum program to perform the computation at the delayed cycle and using the first input qubit instead of the second input qubit.

5. The method of claim 1 further comprising generating an executable quantum circuit based on the updated quantum program.

6. The method of claim 5 further comprising executing the executable quantum circuit using a quantum computer, whereby reducing qubit resources allocated for the quantum program when executed by the quantum computer.

7. The method of claim 1 , wherein said updating is configured to remove all usages of the second input qubit from the quantum program, whereby reducing a number of logical qubits defined by the quantum program.

8. The method of claim 1 , wherein the first input qubit is an input to a first functional block in the quantum program, wherein the second input qubit is an input to a second functional block in the quantum program.

9. The method of claim 1 further comprising verifying that the first input qubit is not entangled in the intermediate cycle with any other qubit of the quantum program.

10. The method of claim 1 , wherein the first input qubit comprises a first set of qubits, wherein the second input qubit comprises a second set of qubits.

11. The method of claim 10 further comprising verifying that the first set of qubits is not entangled with any other qubit of the quantum program that is not comprised by the first set of qubits.

12. A non-transitory computer readable medium retaining program instructions, wherein the program instructions are configured, when read, to cause a processor to perform:

obtaining a quantum program to be compiled, wherein the quantum program comprising a first input qubit having a first value and a second input qubit having a second value;

identifying an intermediate cycle after which the first input qubit is not used in the quantum program;

synthesizing a transformative quantum program that is applicable on a qubit being processed, wherein the transformative quantum program is a quantum program that is configured to update a value of the qubit being processed by subtracting from the qubit being processed the first value and by adding to the qubit being processed the second value, wherein said synthesizing is based on the first value and based on the second value, whereby performing controlled propagation on the qubit being processed having the first value and updating the qubit being processed to have the second value;

updating the quantum program, wherein said updating the quantum program comprises:

modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle;

causing the quantum program to utilize the first input qubit instead of the second input qubit.

13. The non-transitory computer readable medium of claim 12 , wherein the instructions are configured to further cause the processor to perform: verifying that the first value and the second value have a same computational base.

14. The non-transitory computer readable medium of claim 12 ,

wherein said identifying comprises determining that the quantum program does not define a computation on the second input qubit having the second value at a cycle prior to the intermediate cycle,

wherein said causing the quantum program to utilize the first input qubit instead of the second input qubit comprises replacing usage of the second input qubit by the first input qubit.

15. The non-transitory computer readable medium of claim 12 ,

wherein said identifying comprises determining that a computation on the second input qubit having the second value at a cycle prior to the intermediate cycle can be delayed to a delayed cycle after the intermediate cycle;

wherein said causing the quantum program to utilize the first input qubit instead of the second input qubit comprises updating the quantum program to perform the computation at the delayed cycle and using the first input qubit instead of the second input qubit.

16. The non-transitory computer readable medium of claim 12 , wherein said updating is configured to remove all usages of the second input qubit from the quantum program, whereby reducing a number of logical qubits defined by the quantum program.

17. The non-transitory computer readable medium of claim 12 , wherein the first input qubit is an input to a first functional block in the quantum program, wherein the second input qubit is an input to a second functional block in the quantum program.

18. An apparatus comprising a processor and memory unit, wherein the processor is configured to perform:

obtaining a quantum program to be compiled, wherein the quantum program comprising a first input qubit having a first value and a second input qubit having a second value;

identifying an intermediate cycle after which the first input qubit is not used in the quantum program;

synthesizing a transformative quantum program that is applicable on a qubit being processed, wherein the transformative quantum program is a quantum program that is configured to update a value of the qubit being processed by subtracting from the qubit being processed the first value and by adding to the qubit being processed the second value, wherein said synthesizing is based on the first value and based on the second value, whereby performing controlled propagation on the qubit being processed having the first value and updating the qubit being processed to have the second value;

updating the quantum program, wherein said updating the quantum program comprises:

modifying the quantum program to perform the transformative quantum program on the first input qubit at the intermediate cycle;

causing the quantum program to utilize the first input qubit instead of the second input qubit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2022
From: NAVEH, AMIR; UR, SHMUEL
To: CLASSIQ TECHNOLOGIES LTD.
Reel/Frame 058843/0892 →
Continuity (1)
Related Publication 20230244973A1 · Aug 3, 2023
References Cited (13)
US 11119773B1 · Soeken · 2021 [cited by examiner]
US 12204879B2 · Shi · 2025 [cited by examiner]
US 20170147303A1 · Amy · 2017 [cited by examiner]
US 20180181685A1 · Roetteler · 2018 [cited by examiner]
US 20200242207A1 · Shehab · 2020 [cited by examiner]
CN 112884155A · 2021 [cited by examiner]
“Quantum Computing”, published on Nov. 27, 2018 to https://igaller.github.io/CS4850/quantuminfo/qinfo.html, retrieved Jul. 24, 2025. (Year: 2018). [cited by examiner]
N. Khammassi, etc., “OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators”, published in Dec. 2021 to https://dl.acm.org/doi/fullHtml/10.1145/3474222, retrieved Jul. 24, 2025. (Year: 2021). [cited by examiner]
Yonghshan Ding, etc., “SQUARE: Strategic Quantum Ancilla Reuse for Modular Quantum Programs via Cost-Effective Uncomputation”, published via 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (IS… [cited by examiner]
Yuval R. Sanders, etc., “Compilation of Fault-Tolerant Quantum Heuristics for Combinatorial Optimization”, published via PRX Quantum 1, 020312 (2020), retrieved Jul. 24, 2025. (Year: 2020). [cited by examiner]
International Search Report from PCT/IL2023/050037 Apr. 19, 2023, 9 pgs. [cited by applicant]
Paul Nation and Blake Johnson—“How to Measure and Reset a Qubit in the Middle of a Circuit Execution”, https://www.ibm.com/blogs/research/2021/02/quantum-mid-circuit-measurement/, Feb. 11, 2021. Archived also at the fol… [cited by applicant]
Das, Poulami, et al. “Adapt: Mitigating Idling Errors in Qubits via Adaptive Dynamical Decoupling.” MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture. 2021. [cited by applicant]