US 12,387,130 B1
Automated synthesizing and compilation of quantum programs
Muhammad Sohaib Alam, Emeryville, CA (US); Erik Joseph Davis, Berkeley, CA (US); and Eric Christopher Peterson, Saint Helena, CA (US)
Assigned to Rigetti & Co, LLC, Berkeley, CA (US)
Filed by Rigetti & Co, LLC, Berkeley, CA (US)
Filed on Aug. 7, 2020, as Appl. No. 16/988,298.
Claims priority of provisional application 62/947,365, filed on Dec. 12, 2019.
Claims priority of provisional application 62/884,272, filed on Aug. 8, 2019.
Int. Cl. G06N 10/80 (2022.01); G06F 8/30 (2018.01); G06F 8/41 (2018.01); G06N 3/08 (2023.01); G06N 7/01 (2023.01)
CPC G06N 10/80 (2022.01) [G06F 8/30 (2013.01); G06F 8/41 (2013.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01)] 11 Claims
OG exemplary drawing
 
11. A computing system comprising:
one or more processors; and
memory storing instructions that are configured, when executed by the one or more processors, to perform operations comprising:
obtaining a discretized state space, the discretized state space comprising a first plurality of unitary operations for one or more qubits of a quantum processor, wherein the first plurality of unitary operations is expressed in a high-level quantum programing language, and the quantum processor permits only a specified set of quantum logic gates;
obtaining a discrete action space, the discrete action space comprising a second plurality of unitary operations for the one or more qubits of the quantum processor, wherein the second plurality of unitary operations are expressed in a low-level quantum programing language and correspond to the specified set of quantum logic gates that are permitted by the quantum processor;
defining a neural network that uses the discretized state space and the discrete action space to compile quantum programs;
training the neural network using a dynamic programming process;
identifying a target unitary operation in the discretized state space;
generating a quantum program using the trained neural network, the quantum program being configured to perform the target unitary operation using a subset of the second plurality of unitary operations in the discrete action space; and
causing the quantum processor to execute the quantum program.