Envía un programa analógico utilizando Aquila QuEra - Amazon Braket

¡Aprenda los fundamentos de la computación cuántica con! AWS Inscríbase en el plan de aprendizaje digital Amazon Braket y obtenga su propia insignia digital tras completar una serie de cursos de aprendizaje y una evaluación digital.

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.

Envía un programa analógico utilizando Aquila QuEra

Esta página proporciona una documentación completa sobre las capacidades de la Aquila máquina deQuEra. Los detalles que se tratan aquí son los siguientes: 1) El hamiltoniano parametrizado simulado porAquila, 2) los parámetros del programa AHS, 3) el contenido de los resultados del AHS, 4) el parámetro de capacidades. Aquila Le sugerimos que utilice la búsqueda de texto con las teclas Ctrl+F para encontrar los parámetros relevantes para sus preguntas.

Hamiltoniano

La Aquila máquina de QuEra simula el siguiente hamiltoniano (dependiente del tiempo) de forma nativa:

TimeDependentDrivingHamiltonian

where

  • H drive,k (t) =( 1/ 2 Ω (t) e iφ (ts) −,k + 1/ 2 Ω (te) −ißi (t) S) + (−△ (t+,k​) n), global k

    • Ω (t) es la amplitud impulsora global dependiente del tiempo (también conocida como frecuencia de Rabi), en unidades de (rad/ s)

    • φ (t) es la fase global dependiente del tiempo, medida en radianes

    • S −,k​ y S +,k son los operadores que suben y bajan los espines del átomo k (en la base |↓⟩ =|g⟩, |↑ p=|r⟩, son S =|g~⟨r|, S =( S) † =|r⇒ g|) +

    • △ (t) es la desafinación global que depende del tiempo global

    • n k es el operador de proyección en el estado de Rydberg del átomo k (es decir, n=|r~r|)

  • H (t) =-△ (th) h n local detuning,k local k k

    • local (t) es el factor dependiente del tiempo del cambio de frecuencia local, expresado en unidades de (rad/s)

    • h k es el factor dependiente del sitio, un número adimensional entre 0.0 y 1.0

  • V vdw,k,l =C6​/(dk,l) 6 n n, k l

    • C 6 es el coeficiente de van der Waals, expresado en unidades de (rad/s) * (m) ^6

    • d k,l es la distancia euclidiana entre el átomo k y l, medida en metros.

Los usuarios pueden controlar los siguientes parámetros mediante el esquema del programa Braket AHS.

  • Disposición de átomos bidimensional (kcoordenadas x k e y de cada átomo k, en unidades de um), que controla las distancias atómicas por pares d k,l​ con k, l=1,2,... N

  • Ω (t), la frecuencia de Rabi global y dependiente del tiempo, en unidades de (rad/s)

  • φ (t), la fase global dependiente del tiempo, en unidades de (rad)

  • global (t), la desafinación global dependiente del tiempo, en unidades de (rad/s)

  • localΔ( t), el factor (global) dependiente del tiempo de la magnitud de la desafinación local, en unidades de (rad/s)

  • hk, el factor (estático) dependiente del sitio de la magnitud de la desafinación local, un número adimensional entre 0.0 y 1.0

nota

El usuario no puede controlar qué niveles están involucrados (es decir, los operadores S, S+​, n son fijos) ni la intensidad del coeficiente de interacción Rydberg-Rydberg (C). 6

Esquema del programa AHS de Braket

Objeto Braket.ir.AHS.Program_v1.PROGRAM (ejemplo)

Program( braketSchemaHeader=BraketSchemaHeader( name='braket.ir.ahs.program', version='1' ), setup=Setup( ahs_register=AtomArrangement( sites=[ [Decimal('0'), Decimal('0')], [Decimal('0'), Decimal('4e-6')], [Decimal('4e-6'), Decimal('0')], ], filling=[1, 1, 1] ) ), hamiltonian=Hamiltonian( drivingFields=[ DrivingField( amplitude=PhysicalField( time_series=TimeSeries( values=[Decimal('0'), Decimal('15700000.0'), Decimal('15700000.0'), Decimal('0')], times=[Decimal('0'), Decimal('0.000001'), Decimal('0.000002'), Decimal('0.000003')] ), pattern='uniform' ), phase=PhysicalField( time_series=TimeSeries( values=[Decimal('0'), Decimal('0')], times=[Decimal('0'), Decimal('0.000001')] ), pattern='uniform' ), detuning=PhysicalField( time_series=TimeSeries( values=[Decimal('-54000000.0'), Decimal('54000000.0')], times=[Decimal('0'), Decimal('0.000001')] ), pattern='uniform' ) ) ], localDetuning=[ LocalDetuning( magnitude=PhysicalField( times_series=TimeSeries( values=[Decimal('0'), Decimal('25000000.0'), Decimal('25000000.0'), Decimal('0')], times=[Decimal('0'), Decimal('0.000001'), Decimal('0.000002'), Decimal('0.000003')] ), pattern=Pattern([Decimal('0.8'), Decimal('1.0'), Decimal('0.9')]) ) ) ] ) )

JSON (ejemplo)

{ "braketSchemaHeader": { "name": "braket.ir.ahs.program", "version": "1" }, "setup": { "ahs_register": { "sites": [ [0E-7, 0E-7], [0E-7, 4E-6], [4E-6, 0E-7], ], "filling": [1, 1, 1] } }, "hamiltonian": { "drivingFields": [ { "amplitude": { "time_series": { "values": [0.0, 15700000.0, 15700000.0, 0.0], "times": [0E-9, 0.000001000, 0.000002000, 0.000003000] }, "pattern": "uniform" }, "phase": { "time_series": { "values": [0E-7, 0E-7], "times": [0E-9, 0.000001000] }, "pattern": "uniform" }, "detuning": { "time_series": { "values": [-54000000.0, 54000000.0], "times": [0E-9, 0.000001000] }, "pattern": "uniform" } } ], "localDetuning": [ { "magnitude": { "time_series": { "values": [0.0, 25000000.0, 25000000.0, 0.0], "times": [0E-9, 0.000001000, 0.000002000, 0.000003000] }, "pattern": [0.8, 1.0, 0.9] } } ] } }
Campos principales
Campo de programa type description

setup.ahs_register.sites

Lista [Lista [Decimal]]

Lista de coordenadas bidimensionales en las que las pinzas atrapan los átomos

setup.ahs_register.filling

Lista [int]

Marca los átomos que ocupan los sitios de captura con 1 y los sitios vacíos con 0

hamiltonian.DrivingFields [] .amplitude.time_series.times

Lista [Decimal]

puntos temporales de la amplitud impulsora, Omega (t)

hamiltonian.DrivingFields [] .amplitude.time_series.values

Lista [Decimal]

valores de la amplitud de accionamiento, Omega (t)

hamiltoniano. Campos de conducción [] .amplitud.patrón

str

patrón espacial de la amplitud de accionamiento, Omega (t); debe ser «uniforme»

hamiltonian.DrivingFields [] .phase.time_series.times

Lista [Decimal]

puntos temporales de la fase de conducción, phi (t)

hamiltonian.DrivingFields [] .phase.time_series.values

Lista [Decimal]

valores de la fase de conducción, phi (t)

hamiltonian.DrivingFields [] .phase.pattern

str

patrón espacial de la fase de conducción, phi (t); debe ser «uniforme»

hamiltonian.DrivingFields [] .detuning.time_series.times

Lista [Decimal]

puntos temporales de desajuste de la conducción, delta_global (t)

hamiltonian.DrivingFields [] .detuning.time_series.values

Lista [Decimal]

valores de desajuste de conducción, delta_global (t)

hamiltonian.DrivingFields [] .dettuning.pattern

str

patrón espacial de desajuste de conducción, delta_global (t); debe ser «uniforme»

Hamiltonian.LocalDetuning [] .magnitude.time_series.times

Lista [Decimal]

puntos temporales del factor dependiente del tiempo de la magnitud de desafinación local, delta_local (t)

Hamiltonian.LocalDetuning [] .magnitude.time_series.values

Lista [Decimal]

valores del factor dependiente del tiempo de la magnitud de desafinación local, delta_local (t)

Hamiltonian.LocalDetuning [] .magnitude.pattern

Lista [Decimal]

factor dependiente del sitio de la magnitud de desafinación local, h_k (los valores corresponden a los sitios de setup.ahs_register.sites)

Campos de metadatos
Campo de programa type description

braketSchemaHeader.nombre

str

nombre del esquema; debe ser 'braket.ir.ahs.program'

braketSchemaHeader.versión

str

versión del esquema

Esquema de resultados de la tarea AHS de Braket

braket.tasks.analog_hamiltonian_simulation_quantum_task_result. AnalogHamiltonianSimulationQuantumTaskResult(ejemplo)

AnalogHamiltonianSimulationQuantumTaskResult( task_metadata=TaskMetadata( braketSchemaHeader=BraketSchemaHeader( name='braket.task_result.task_metadata', version='1' ), id='arn:aws:braket:us-east-1:123456789012:quantum-task/12345678-90ab-cdef-1234-567890abcdef', shots=2, deviceId='arn:aws:braket:us-east-1::device/qpu/quera/Aquila', deviceParameters=None, createdAt='2022-10-25T20:59:10.788Z', endedAt='2022-10-25T21:00:58.218Z', status='COMPLETED', failureReason=None ), measurements=[ ShotResult( status=<AnalogHamiltonianSimulationShotStatus.SUCCESS: 'Success'>, pre_sequence=array([1, 1, 1, 1]), post_sequence=array([0, 1, 1, 1]) ), ShotResult( status=<AnalogHamiltonianSimulationShotStatus.SUCCESS: 'Success'>, pre_sequence=array([1, 1, 0, 1]), post_sequence=array([1, 0, 0, 0]) ) ] )

JSON (ejemplo)

{ "braketSchemaHeader": { "name": "braket.task_result.analog_hamiltonian_simulation_task_result", "version": "1" }, "taskMetadata": { "braketSchemaHeader": { "name": "braket.task_result.task_metadata", "version": "1" }, "id": "arn:aws:braket:us-east-1:123456789012:quantum-task/12345678-90ab-cdef-1234-567890abcdef", "shots": 2, "deviceId": "arn:aws:braket:us-east-1::device/qpu/quera/Aquila", "createdAt": "2022-10-25T20:59:10.788Z", "endedAt": "2022-10-25T21:00:58.218Z", "status": "COMPLETED" }, "measurements": [ { "shotMetadata": {"shotStatus": "Success"}, "shotResult": { "preSequence": [1, 1, 1, 1], "postSequence": [0, 1, 1, 1] } }, { "shotMetadata": {"shotStatus": "Success"}, "shotResult": { "preSequence": [1, 1, 0, 1], "postSequence": [1, 0, 0, 0] } } ], "additionalMetadata": { "action": {...} "queraMetadata": { "braketSchemaHeader": { "name": "braket.task_result.quera_metadata", "version": "1" }, "numSuccessfulShots": 100 } } }
Campos principales
Campo de resultados de la tarea type description

medidas [] .shotResult.PreSequence

Lista [int]

Bits de medición presecuenciados (uno para cada sitio atómico) para cada toma: 0 si el sitio está vacío, 1 si el sitio está lleno, medidos antes de las secuencias de pulsos que impulsan la evolución cuántica

medidas [] .shotResult.postSequence

Lista [int]

Bits de medición posteriores a la secuencia para cada toma: 0 si el átomo está en el estado de Rydberg o el sitio está vacío, 1 si el átomo está en el estado fundamental, medidos al final de las secuencias de pulsos que rigen la evolución cuántica

Campos de metadatos
Campo de resultados de la tarea type description

braketSchemaHeader.nombre

str

nombre del esquema; debe ser 'braket.task_result.analog_hamiltonian_simulation_task_result'

braketSchemaHeader.versión

str

versión del esquema

Metadatos de tareas. braketSchemaHeader.nombre

str

nombre del esquema; debe ser 'braket.task_result.task_metadata'

Metadatos de la tarea. braketSchemaHeader.versión

str

versión del esquema

taskMetadata.id

str

El ID de la tarea cuántica. Para las tareas AWS cuánticas, esta es la tarea cuántica ARN.

Metadatos de tareas. Shots

int

El número de disparos de la tarea cuántica

Metadata.shots.DeviceID de la tarea

str

El ID del dispositivo en el que se ejecutó la tarea cuántica. Para AWS los dispositivos, este es el ARN del dispositivo.

Metadata.shots.creado en

str

La marca de tiempo de la creación; el formato debe estar en el formato de cadena ISO-8601/RFC3339 yyyy-MM-DDTHH:mm:ss.sssz. El valor predeterminado es Ninguno.

TaskMetadata.shots.endat

str

La marca de tiempo que indica cuándo finalizó la tarea cuántica; el formato debe estar en el formato de cadena ISO-8601/RFC3339 yyyy-MM-DDTHH:mm:ss.sssz. El valor predeterminado es Ninguno.

TaskMetadata.shots.Status

str

El estado de la tarea cuántica (CREADA, EN COLA, EN EJECUCIÓN, COMPLETADA, FALLIDA). El valor predeterminado es Ninguno.

Motivo del error de TaskMetadata.Shots.

str

La razón del fracaso de la tarea cuántica. El valor predeterminado es Ninguno.

Metadatos adicionales. Acción

Braket.ir.AHS.Program_v1.Program

(Consulte la sección del esquema del programa Braket AHS)

Metadatos adicionales. Acción. braketSchemaHeaderMetadatos de consulta. Nombre

str

nombre del esquema; debe ser 'braket.task_result.quera_metadata'

Metadatos adicionales. Acción. braketSchemaHeader.Quera Metadata.Versión

str

versión del esquema

Metadatos adicionales. Acción. numSuccessfulShots

int

número de disparos completamente exitosos; debe ser igual al número de tiros solicitado

medidas [] .shotMetadata.shotStatus

int

El estado de la toma (éxito, éxito parcial, fracaso); debe ser «Éxito»

QuEra esquema de propiedades del dispositivo

braket.device_schema.quera.quera_device_capabilities_v1. QueraDeviceCapabilities(ejemplo)

QueraDeviceCapabilities( service=DeviceServiceProperties( braketSchemaHeader=BraketSchemaHeader( name='braket.device_schema.device_service_properties', version='1' ), executionWindows=[ DeviceExecutionWindow( executionDay=<ExecutionDay.MONDAY: 'Monday'>, windowStartHour=datetime.time(1, 0), windowEndHour=datetime.time(23, 59, 59) ), DeviceExecutionWindow( executionDay=<ExecutionDay.TUESDAY: 'Tuesday'>, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(12, 0) ), DeviceExecutionWindow( executionDay=<ExecutionDay.WEDNESDAY: 'Wednesday'>, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(12, 0) ), DeviceExecutionWindow( executionDay=<ExecutionDay.FRIDAY: 'Friday'>, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59, 59) ), DeviceExecutionWindow( executionDay=<ExecutionDay.SATURDAY: 'Saturday'>, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(23, 59, 59) ), DeviceExecutionWindow( executionDay=<ExecutionDay.SUNDAY: 'Sunday'>, windowStartHour=datetime.time(0, 0), windowEndHour=datetime.time(12, 0) ) ], shotsRange=(1, 1000), deviceCost=DeviceCost( price=0.01, unit='shot' ), deviceDocumentation= DeviceDocumentation( imageUrl='https://a.b.cdn.console.awsstatic.com/59534b58c709fc239521ef866db9ea3f1aba73ad3ebcf60c23914ad8c5c5c878/a6cfc6fca26cf1c2e1c6.png', summary='Analog quantum processor based on neutral atom arrays', externalDocumentationUrl='https://www.quera.com/aquila' ), deviceLocation='Boston, USA', updatedAt=datetime.datetime(2024, 1, 22, 12, 0, tzinfo=datetime.timezone.utc), getTaskPollIntervalMillis=None ), action={ <DeviceActionType.AHS: 'braket.ir.ahs.program'>: DeviceActionProperties( version=['1'], actionType=<DeviceActionType.AHS: 'braket.ir.ahs.program'> ) }, deviceParameters={}, braketSchemaHeader=BraketSchemaHeader( name='braket.device_schema.quera.quera_device_capabilities', version='1' ), paradigm=QueraAhsParadigmProperties( ... # See https://github.com/amazon-braket/amazon-braket-schemas-python/blob/main/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py ... ) )

JSON (ejemplo)

{ "service": { "braketSchemaHeader": { "name": "braket.device_schema.device_service_properties", "version": "1" }, "executionWindows": [ { "executionDay": "Monday", "windowStartHour": "01:00:00", "windowEndHour": "23:59:59" }, { "executionDay": "Tuesday", "windowStartHour": "00:00:00", "windowEndHour": "12:00:00" }, { "executionDay": "Wednesday", "windowStartHour": "00:00:00", "windowEndHour": "12:00:00" }, { "executionDay": "Friday", "windowStartHour": "00:00:00", "windowEndHour": "23:59:59" }, { "executionDay": "Saturday", "windowStartHour": "00:00:00", "windowEndHour": "23:59:59" }, { "executionDay": "Sunday", "windowStartHour": "00:00:00", "windowEndHour": "12:00:00" } ], "shotsRange": [ 1, 1000 ], "deviceCost": { "price": 0.01, "unit": "shot" }, "deviceDocumentation": { "imageUrl": "https://a.b.cdn.console.awsstatic.com/59534b58c709fc239521ef866db9ea3f1aba73ad3ebcf60c23914ad8c5c5c878/a6cfc6fca26cf1c2e1c6.png", "summary": "Analog quantum processor based on neutral atom arrays", "externalDocumentationUrl": "https://www.quera.com/aquila" }, "deviceLocation": "Boston, USA", "updatedAt": "2024-01-22T12:00:00+00:00" }, "action": { "braket.ir.ahs.program": { "version": [ "1" ], "actionType": "braket.ir.ahs.program" } }, "deviceParameters": {}, "braketSchemaHeader": { "name": "braket.device_schema.quera.quera_device_capabilities", "version": "1" }, "paradigm": { ... # See Aquila device page > "Calibration" tab > "JSON" page ... } }
Campos de propiedades del servicio
Campo de propiedades del servicio type description

Service.ExecutionWindows []. ExecutionDay

ExecutionDay

Días de la ventana de ejecución; deben ser «Todos los días», «días laborables», «fin de semana», «lunes», «martes», «miércoles», jueves, «viernes», «sábado» o «domingo»

Service.ExecutionWindows []. windowStartHour

fecha y hora

Formato UTC de 24 horas de la hora en que se inicia la ventana de ejecución

Service.ExecutionWindows []. windowEndHour

fecha y hora

Formato UTC de 24 horas de la hora en que finaliza la ventana de ejecución

service.qpu_capabilities.service.shotsRange

Tupla [int, int]

Número mínimo y máximo de disparos para el dispositivo

service.qpu_capabilities.service.deviceCost.Price

float

Precio del dispositivo en dólares estadounidenses

Service.QPU_Capabilities.Service.DeviceCost.Unit

str

unidad para cobrar el precio, por ejemplo: «minuto», «hora», «tiro», «tarea»

Campos de metadatos
Campo de metadatos type description

acción [] .versión

str

versión del esquema del programa AHS

acción [] .actionType

ActionType

Nombre del esquema del programa AHS; debe ser 'braket.ir.ahs.program'

servicio. braketSchemaHeader.nombre

str

nombre del esquema; debe ser 'braket.device_schema.device_service_properties'

servicio. braketSchemaHeader.versión

str

versión del esquema

Service.DeviceDocumentation.ImageUrl

str

URL de la imagen del dispositivo

Service.DeviceDocumentation.Summary

str

breve descripción del dispositivo

Servicio. Documentación del dispositivo. externalDocumentationUrl

str

URL de documentación externa

Service.Ubicación del dispositivo

str

ubicación geográfica del dispositivo

Servicio. Actualizado en

datetime

hora en que se actualizaron las propiedades del dispositivo por última vez