Cree y envíe un ejemplo de tarea cuántica de Open QASM 3.0 - Amazon Braket

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree y envíe un ejemplo de tarea cuántica de Open QASM 3.0

Puede utilizar Amazon Braket PythonSDK, Boto3 o el para enviar tareas cuánticas de Open QASM 3.0 AWS CLI a un Amazon dispositivo Braket.

Un ejemplo de programa Open 3.0 QASM

Para crear una tarea de Open QASM 3.0, puede empezar con un sencillo programa de Open QASM 3.0 (ghz.qasm) que prepare un GHZestado como se muestra en el siguiente ejemplo.

// 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;

Usa Python SDK para crear tareas cuánticas de Open QASM 3.0

Puedes usar Amazon Braket Python SDK para enviar este programa a un dispositivo Amazon Braket con el siguiente código.

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/Aspen-M-3") from braket.ir.openqasm import Program program = Program(source=ghz_qasm_string) my_task = device.run(program) # You can also specify an optional s3 bucket location and number of shots, # if you so choose, when running the program s3_location = ("amazon-braket-my-bucket", "openqasm-tasks") my_task = device.run( program, s3_location, shots=100, )

Utilice Boto3 para crear tareas cuánticas de Open 3.0 QASM

También puede usar AWS Python SDK for Braket (Boto3) para crear las tareas cuánticas mediante cadenas Open QASM 3.0, como se muestra en el siguiente ejemplo. El siguiente fragmento de código hace referencia a ghz.qasm, que prepara un estado como el que se muestra arriba. GHZ

import boto3 import json my_bucket = "amazon-braket-my-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/Aspen-M-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, )

Úselo para crear tareas de Open 3.0 AWS CLI QASM

El AWS Command Line Interface (CLI) también se puede utilizar para enviar programas de Open QASM 3.0, como se muestra en el siguiente ejemplo.

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