US 12,293,254 B1
Quantum instruction compiler for optimizing hybrid algorithms
Eric Christopher Peterson, Berkeley, CA (US); and Robert Stanley Smith, Emeryville, CA (US)
Assigned to RIGETTI & CO, LLC, Berkeley, CA (US)
Filed by Rigetti & Co, LLC, Berkeley, CA (US)
Filed on Nov. 3, 2022, as Appl. No. 17/980,373.
Application 17/980,373 is a continuation of application No. 16/219,694, filed on Dec. 13, 2018, granted, now 11,494,681.
Claims priority of provisional application 62/757,615, filed on Nov. 8, 2018.
Claims priority of provisional application 62/633,170, filed on Feb. 21, 2018.
Claims priority of provisional application 62/598,864, filed on Dec. 14, 2017.
Int. Cl. G06N 10/00 (2022.01); G06F 8/41 (2018.01); G06F 15/16 (2006.01); G06N 20/10 (2019.01)
CPC G06N 10/00 (2019.01) [G06F 8/427 (2013.01); G06F 15/16 (2013.01); G06F 8/41 (2013.01); G06F 8/44 (2013.01); G06F 8/445 (2013.01); G06F 8/47 (2013.01); G06N 20/10 (2019.01)] 20 Claims
OG exemplary drawing
 
11. A system for determining a result of a quantum algorithm, the system comprising:
a quantum processing system configured to execute quantum instructions of the quantum algorithm;
a classical processing system including one or more processors; and
a non-transitory, computer-readable storage medium storing a computer program executable by the classical processing system to perform steps comprising:
receiving, from a client device via the classical processing system, a quantum algorithm for execution on a quantum processor to determine a result;
parsing the quantum algorithm into a sequence of quantum instructions including a subsequence of initial quantum instructions that manipulate a quantum state to a resulting state;
determining, using the classical processing system and according to a replacement policy, a subsequence of replacement quantum instructions that manipulate the quantum state to the resulting state;
replacing, using the classical processing system and according to a replacement policy, the subsequence of initial quantum instructions with the subsequence of replacement quantum instructions in the sequence of quantum instructions;
translating the sequence of quantum instructions into a sequence of instructions in a target language for executing on the quantum processing system;
sending the sequence of instructions to the quantum processing system to execute the sequency of instructions;
obtaining a result of the quantum algorithm based on the execution of the sequence of the instructions by the quantum processing system; and
transmitting the result of the quantum algorithm to the client device.