IP Library › Granted Patent US 11,797,276
Granted Patent B1
US 11,797,276 · App. 17/491,190 · Granted Oct 24, 2023

Assisted composition of quantum algorithms

Inventors: Yunong Shi (Stamford, CT); Saravanakumar Shanmugam Sakthivadivel (White Plains, NY)
Assignee: Amazon Technologies, Inc.
G06F8/36G06N10/00
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 11,797,276
App. No.
17/491,190
Granted
Oct 24, 2023
Kind
B1
Abstract

A quantum programming environment may include an assisted composition system to assist the composition of quantum objects. The assisted composition system may receive a partial portion of a quantum object that is being composed but not yet fully composed by a user. The assisted composition system may determine a first abstract representation of the partial portion of the quantum object being composed. The assisted composition system may determine that the first abstract representation resembles at least a first portion of a second abstract representation of a stored quantum object stored in a library for the quantum programming environment. The assisted composition system may obtain a second portion of the stored quantum object from the library and provide it to the user as a next portion to the partial portion of the quantum object being composed.

Claims (49)

1. A system, comprising:

a quantum programming environment implemented using one or more computing devices to allow users to compose quantum objects, wherein a quantum object comprises a quantum program or a quantum circuit, and wherein the quantum programing environment is configured to:

receive a partial portion of a quantum object being composed by a user;

generate a first abstract syntax tree of the partial portion of the quantum object;

determine that the first abstract syntax tree, or a portion thereof, matches at least a first portion of a second abstract syntax tree of a stored quantum object stored in a library for the quantum programming environment;

identify a second portion of the stored quantum object based on the match of the first abstract syntax tree, or the portion thereof, with the first portion of the second abstract syntax tree; and

provide the second portion of the stored quantum object as a next portion of the quantum object being composed.

2. The system of claim 1 , wherein the quantum programming environment is further configured to provide an indication that the partial portion of the quantum object includes an error.

3. The system of claim 1 , wherein the quantum programming environment is further configured to provide a recommendation of one or more quantum hardware providers for executing the quantum object.

4. The system of claim 1 , wherein determining the match between the first abstract syntax tree, or the portion thereof, and the first portion of the second abstract syntax tree is determined according to a threshold, and wherein the threshold is selected based on a number of stored quantum object portions to be provided to the user as recommended next portions.

5. The system of claim 1 , wherein the quantum programming environment is configured to provide the user access to a quantum computing service of a provider network, and wherein the quantum computing service is configured to provide the user access to one or more quantum hardware providers.

6. A method, comprising:

receiving, at an interface of a quantum programming environment implemented using one or more computing devices, a partial portion of a quantum object being composed;

determining, by the quantum programming environment, that the partial portion of the quantum object, or a portion thereof, matches at least a first portion of a stored quantum object stored in a library for the quantum programming environment; and

providing, by the quantum programming environment, a second portion of the stored quantum object as a next portion to the partial portion of the quantum object being composed.

7. The method of claim 6 , further comprising:

receiving an indication to select the second portion of the stored quantum object as the next portion of the quantum object being composed; and

adding the second portion of the stored quantum object to the quantum object as the next portion of the quantum object.

8. The method of claim 6 , further comprising:

providing an indication that the partial portion of the quantum object being composed includes an error.

9. The method of claim 6 , further comprising:

providing a recommendation of one or more quantum hardware providers for executing the quantum object.

10. The method of claim 6 , further comprising determining a first abstract syntax tree for the partial portion of the quantum object being composed, wherein determining that the partial portion of the quantum object being composed, or the portion thereof, matches the at least first portion of the stored quantum object comprises:

determining that the first abstract syntax tree of the partial portion of the quantum object being composed, or the portion thereof, matches a first portion of a second abstract syntax tree of the stored quantum object, and

wherein providing the second portion of the stored quantum object as the next portion of the quantum object being composed comprises:

identifying the second portion of the stored quantum object based on the match of the first abstract syntax tree, or the portion thereof, with the first portion of the second abstract tree.

11. The method of claim 6 , wherein the quantum object being composed is represented in a text-based quantum programming language or a quantum circuit diagram.

12. The method of claim 6 , wherein determining that the partial portion of the quantum object being composed, or the portion thereof, matches at least the first portion of the stored quantum object comprises:

identifying the stored quantum object as matching the partial portion of the quantum object being composed, or the portion thereof, according to a threshold, and wherein the threshold is selected based on a number of stored quantum objects to be provided as recommended next portions.

13. The method of claim 6 , wherein determining that the partial portion of the quantum object being composed, or the portion thereof, matches at least the first portion of the stored quantum object is performed using an exact matching algorithm or a machine learning model.

14. The method of claim 6 , wherein the quantum programming environment allows a user to determine whether a quantum object composed by the user is authorized to be provided as a next portion of a quantum object being composed by another user.

15. One or more non-transitory computer readable media comprising instructions that, when executed on or across one or more processors, cause the one or more processors to:

receive, at a user interface of a quantum programming environment, a partial portion of a quantum object being composed;

determine that the partial portion of the quantum object being composed, or a portion thereof, matches to at least a first portion of a stored quantum object stored in a library for the quantum programming environment; and

provide a second portion of the stored quantum object as a next portion to the partial portion of the quantum object being composed.

16. The one or more non-transitory computer readable media of claim 15 , further comprising instructions that when executed on or across the one or more processors, cause the one or more processors to:

receive an indication to select the second portion of the stored quantum object as the next portion to the partial portion of the quantum object being composed; and

add the selected second portion of the stored quantum object to the quantum object as the next portion of the quantum object being composed.

17. The one or more non-transitory computer readable media of claim 15 , further comprising instructions that when executed on or across the one or more processors, cause the one or more processors to:

provide an indication that the partial portion of the quantum object being composed includes an error.

18. The one or more non-transitory computer readable media of claim 15 , further comprising instructions that when executed on or across the one or more processors, cause the one or more processors to:

provide a recommendation of one or more quantum hardware providers for executing the quantum object.

19. The one or more non-transitory computer readable media of claim 15 , further comprising instructions that when executed on or across the one or more processors, cause the one or more processors to:

determine a first abstract syntax tree for the partial portion of the quantum object being composed,

wherein to determine that the partial portion of the quantum object being composed, or the portion thereof, matches at least the first portion of the stored quantum object, the instructions cause the one or more processors to:

determine that the first abstract syntax tree of the partial portion of the quantum object being composed, or the portion thereof, matches a first portion of a second abstract syntax tree of the stored quantum object, and

wherein to provide the second portion of the stored quantum object as the next portion of the quantum object being composed, the instructions cause the one or more processors to:

identify the second portion of the stored quantum object based on the match of the first abstract syntax tree, or the portion thereof, with the first portion of the second abstract tree.

20. The one or more non-transitory computer readable media of claim 15 , the quantum programming environment provides users access to a quantum computing service of a provider network, and wherein the quantum computing service provides the users access to one or more quantum hardware providers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2023
From: SHI, YUNONG; SHANMUGAM SAKTHIVADIVEL, SARAVANAKUMAR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 064469/0459 →
Cited By (6)
US 12,260,191 US 12,572,438 US 12,572,836 US 12,639,605 US 12,639,611 US 12,688,447