Erstellen Sie eine OpenQASM 3.0-Beispiel-Quantenaufgabe und reichen Sie sie ein - Amazon Braket

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine OpenQASM 3.0-Beispiel-Quantenaufgabe und reichen Sie sie ein

Sie können das Amazon Braket Python SDK, Boto3 oder das verwenden, um OpenQASM 3.0-Quantenaufgaben AWS CLI an ein Amazon Braket-Gerät zu senden.

Ein Beispiel für ein OpenQASM 3.0-Programm

Um eine OpenQASM 3.0-Aufgabe zu erstellen, können Sie mit einem einfachen OpenQASM 3.0-Programm (ghz.qasm) beginnen, das einen GHZ-Status vorbereitet, wie im folgenden Beispiel gezeigt.

// ghz.qasm // Prepare a GHZ state OPENQASM 3; qubit[3] q; bit[3] c; h q[0]; cnot q[0], q[1]; cnot q[1], q[2]; c = measure q;

Verwenden Sie das Python-SDK, um OpenQASM 3.0-Quantenaufgaben zu erstellen

Sie können das Amazon Braket Python SDK verwenden, um dieses Programm mit dem folgenden Code an ein Amazon Braket-Gerät zu senden. Achten Sie darauf, den Amazon S3 S3-Bucket-Beispielstandort „amzn-s3-demo-bucket“ durch Ihren eigenen Amazon S3 S3-Bucket-Namen zu ersetzen.

with open("ghz.qasm", "r") as ghz: ghz_qasm_string = ghz.read() # Import the device module from braket.aws import AwsDevice # Choose the Rigetti device device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") from braket.ir.openqasm import Program program = Program(source=ghz_qasm_string) my_task = device.run(program) # Specify an optional s3 bucket location and number of shots s3_location = ("amzn-s3-demo-bucket", "openqasm-tasks") my_task = device.run( program, s3_location, shots=100, )

Verwenden Sie Boto3, um OpenQASM 3.0-Quantenaufgaben zu erstellen

Sie können auch das AWS Python SDK for Braket (Boto3) verwenden, um die Quantenaufgaben mithilfe von OpenQASM 3.0-Strings zu erstellen, wie im folgenden Beispiel gezeigt. Der folgende Codeausschnitt verweist auf ghz.qasm, das einen GHZ-Status wie oben gezeigt vorbereitet.

import boto3 import json my_bucket = "amzn-s3-demo-bucket" s3_prefix = "openqasm-tasks" with open("ghz.qasm") as f: source = f.read() action = { "braketSchemaHeader": { "name": "braket.ir.openqasm.program", "version": "1" }, "source": source } device_parameters = {} device_arn = "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3" shots = 100 braket_client = boto3.client('braket', region_name='us-west-1') rsp = braket_client.create_quantum_task( action=json.dumps( action ), deviceParameters=json.dumps( device_parameters ), deviceArn=device_arn, shots=shots, outputS3Bucket=my_bucket, outputS3KeyPrefix=s3_prefix, )

Verwenden Sie die, um OpenQASM 3.0-Aufgaben zu erstellen AWS CLI

Die AWS Command Line Interface (CLI) kann auch verwendet werden, um OpenQASM 3.0-Programme einzureichen, wie im folgenden Beispiel gezeigt.

aws braket create-quantum-task \ --region "us-west-1" \ --device-arn "arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3" \ --shots 100 \ --output-s3-bucket "amzn-s3-demo-bucket" \ --output-s3-key-prefix "openqasm-tasks" \ --action '{ "braketSchemaHeader": { "name": "braket.ir.openqasm.program", "version": "1" }, "source": $(cat ghz.qasm) }'