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.
Ejecute su primer circuito con el SDK de Python de Amazon Braket
Una vez lanzada la instancia de bloc de notas, ábrela con una interfaz Jupyter estándar seleccionando la libreta que acabas de crear.

AmazonLas instancias de Braket notebook vienen preinstaladas con el SDK deAmazon Braket y todas sus dependencias. Comience por crear un nuevo bloc de notas conconda_braket
el núcleo.

Puedes empezar con un simple «¡Hola, mundo!» ejemplo. Primero, construya un circuito que prepare un estado de Bell y, a continuación, ejecute ese circuito en diferentes dispositivos para obtener los resultados.
Comience importando los módulos del SDK deAmazon Braket y definiendo un circuito Bell State simple.
import boto3 from braket.aws import AwsDevice from braket.devices import LocalSimulator from braket.circuits import Circuit # create the circuit bell = Circuit().h(0).cnot(0, 1)
Puede visualizar el circuito con este comando:
print(bell)
Ejecuta tu circuito en el simulador local
A continuación, elija el dispositivo cuántico en el que ejecutar el circuito. El SDK deAmazon Braket incluye un simulador local para la creación rápida de prototipos y pruebas. Recomendamos utilizar el simulador local para circuitos más pequeños, que pueden tener hasta 25qubits (según el hardware local).
A continuación se indica cómo crear una instancia del simulador local:
# instantiate the local simulator local_sim = LocalSimulator()
y ejecuta el circuito:
# run the circuit result = local_sim.run(bell, shots=1000).result() counts = result.measurement_counts print(counts)
Se debería ver un resultado similar al siguiente:
Counter({'11': 503, '00': 497})
El estado de Bell específico que ha preparado es una superposición igual de |00> y |11>, y encontrará una distribución aproximadamente igual (hasta elshot ruido) de 00 y 11 como resultados de la medición, como era de esperar.
Ejecute su circuito en un simulador bajo demanda
AmazonBraket también proporciona acceso a un simulador de alto rendimiento bajo demanda para ejecutar circuitos más grandes.SV1 SV1es un simulador de vectores de estado bajo demanda que permite la simulación de circuitos cuánticos de hasta 34qubits. Encontrará más informaciónSV1 en la sección Dispositivos compatibles y en laAWS consola. Al ejecutar tareas enSV1 (y sobreTN1 cualquier QPU), los resultados de la tarea se almacenan en un bucket de S3 de su cuenta. Si no especifica ningún depósito, el SDK de Braket crea un depósito predeterminadoamazon-braket-{region}-{accountID}
para usted. Para obtener más información, consulte Administrar el acceso a Amazon Braket.
Introduzca su nombre de depósito actual y actual, donde se muestra el siguiente ejemploexample-bucket
como nombre de depósito. Los nombres de los cubos deAmazon Braket siempre comienzan poramazon-braket-
seguido de otros caracteres identificativos que añadas. Si necesita información sobre cómo configurar un bucket de S3, consulte Introducción a Amazon S3.
# get the account ID aws_account_id = boto3.client("sts").get_caller_identity()["Account"] # the name of the bucket my_bucket = "example-bucket" # the name of the folder in the bucket my_prefix = "simulation-output" s3_folder = (my_bucket, my_prefix)
Para ejecutar un circuitoSV1, debe proporcionar la ubicación del bucket de S3 que seleccionó previamente como argumento posicional en la.run()
llamada.
# choose the cloud-based on-demand simulator to run your circuit device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") # execute the circuit task = device.run(bell, s3_folder, shots=100) # display the results print(task.result().measurement_counts)
La consolaAmazon Braket proporciona más información sobre su tarea. Ve a la pestaña Tareas de la consola y tu tarea aparecerá en la parte superior de la lista. Como alternativa, puede buscar la tarea mediante el identificador único de la tarea u otros criterios.
Transcurridos 90 días,Amazon Braket elimina automáticamente todos los identificadores de tareas y otros metadatos asociados a tus tareas. Para obtener más información, consulte Retención de datos.
Ejecución en una QPU
Con Amazon Braket, puede ejecutar el ejemplo anterior de circuito cuántico en un ordenador cuántico físico con solo cambiar una línea de código. Amazon Braket proporciona acceso aQPU dispositivos desdeIonQOxford Quantum CircuitsQuEra,Rigetti, yXanadu. Encontrará información sobre los diferentes dispositivos y las ventanas de disponibilidad en la sección Dispositivos compatibles y en laAWS consola, en la pestaña Dispositivos. El siguiente de ejemplo se muestra cómo crear instancias de unRigetti dispositivo.
# choose the Rigetti hardware to run your circuit device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3")
Elige unIonQ dispositivo con este código:
# choose the Ionq device to run your circuit device = AwsDevice("arn:aws:braket:::device/qpu/ionq/ionQdevice")
Al ejecutar la tarea, el SDK de Amazon Braket sondea un resultado (con un tiempo de espera predeterminado de 5 días). Puede cambiar este valor predeterminado modificando elpoll_timeout_seconds
parámetro del.run()
comando, tal como se muestra en el ejemplo siguiente. Tenga en cuenta que si el tiempo de espera del sondeo es demasiado corto, es posible que los resultados no se devuelvan dentro del tiempo de votación, por ejemplo, cuando una QPU no esté disponible y se muestre un error de tiempo de espera local. Puede reiniciar el sondeo llamando a latask.result()
función.
# define task with 1 day polling timeout task = device.run(bell, s3_folder, poll_timeout_seconds=24*60*60) print(task.result().measurement_counts)