Emulador de dispositivo cuántico local - 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.

Emulador de dispositivo cuántico local

Con la herramienta de emulación local de Amazon Braket, puede emular sus programas cuánticos literales de forma local antes de ejecutarlos en un hardware cuántico real. El emulador utiliza los datos de calibración del dispositivo para validar los circuitos textuales, lo que te permite detectar los problemas de compatibilidad antes.

Además, el emulador local simula el ruido cuántico del hardware mediante el siguiente proceso:

  • Uso de los datos de calibración del dispositivo para construir el modelo de ruido

  • Aplicar ruido despolarizante a cada puerta del circuito

  • Aplicar un error de lectura al final del circuito

  • Simulación del circuito ruidoso con un simulador de matriz de densidad local

Para obtener más información sobre el uso de un emulador local, consulte Emulación local para circuitos literales en Amazon Braket en el repositorio. amazon-braket-examples GitHub

Ventajas de la emulación local

  • Valide los circuitos textuales comparándolos con las restricciones del dispositivo mediante datos de calibración históricos o en tiempo real.

  • Depure los problemas antes de enviar las tareas al hardware cuántico.

  • Compare las emulaciones ruidosas y silenciosas con los resultados del hardware para comprender los efectos del ruido.

  • Optimice el flujo de trabajo de desarrollo de algoritmos cuánticos sensibles al ruido.

Crea un emulador local

Se puede crear un emulador de dispositivo cuántico local directamente a partir de un dispositivo cuántico o de un conjunto de propiedades del dispositivo. Al emular directamente un dispositivo, el emulador utiliza los datos de calibración más recientes del dispositivo instanciado. El siguiente ejemplo de código muestra cómo emular directamente el dispositivo. Rigetti's Ankaa-3

from braket.aws.aws_device import AwsDevice ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_emulator = ankaa3.emulator()

En el siguiente ejemplo, se muestra la creación de un emulador de dispositivo local a partir de un conjunto de propiedades del Ankaa-3 dispositivo en formato JSON.

from braket.aws import AwsDevice from braket.emulation.local_emulator import LocalEmulator import json # Instantiate the device ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_properties = ankaa3.properties # Put the Ankaa-3 properties in a file named ankaa3_device_properties.json with open("ankaa3_device_properties.json", "w") as f: json.dump(ankaa3_properties.json(), f) # Load the json into the ankaa3_data_json variable with open("ankaa3_device_properties.json", "r") as json_file: ankaa3_data_json = json.load(json_file) # Create the Ankaa-3 local emulator from the json file you created ankaa3_emulator = LocalEmulator.from_json(ankaa3_data_json)

Puedes personalizar el ejemplo de la siguiente manera:

  • Uso de propiedades de un dispositivo QPU diferente

  • Especificar un archivo JSON diferente para el emulador

  • Cambiar los valores de las propiedades del dispositivo antes de crear una instancia del emulador