Crie e envie um exemplo de tarefa quântica do OpenQASM 3.0 - Amazon Braket

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie e envie um exemplo de tarefa quântica do OpenQASM 3.0

Você pode usar o Amazon Braket Python SDK, o Boto3 AWS CLI ou o para enviar tarefas quânticas do OpenQASM 3.0 para um dispositivo Amazon Braket.

Um exemplo do programa OpenQASM 3.0

Para criar uma tarefa OpenQASM 3.0, você pode começar com um programa OpenQASM 3.0 simples (ghz.qasm) que prepara um estado GHZ, conforme mostrado no exemplo a seguir.

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

Use o SDK do Python para criar tarefas quânticas do OpenQASM 3.0

Você pode usar o Amazon Braket Python SDK para enviar esse programa para um dispositivo Amazon Braket com o código a seguir. Certifique-se de substituir o exemplo de localização do bucket do Amazon S3 “amzn-s3-demo-bucket” pelo seu próprio nome de bucket do Amazon S3.

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, )

Use o Boto3 para criar tarefas quânticas do OpenQASM 3.0

Você também pode usar o AWS Python SDK for Braket (Boto3) para criar as tarefas quânticas usando strings do OpenQASM 3.0, conforme mostrado no exemplo a seguir. O trecho de código a seguir faz referência ao ghz.qasm, que prepara um estado GHZ conforme mostrado acima.

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, )

Use o AWS CLI para criar tarefas do OpenQASM 3.0

O AWS Command Line Interface (CLI) também pode ser usado para enviar programas OpenQASM 3.0, conforme mostrado no exemplo a seguir.

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) }'