View a markdown version of this page

Envíe un programa analógico con Aquila QuEra - 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.

Envíe un programa analógico con Aquila QuEra

Esta página incluye documentación completa sobre las capacidades de la máquina Aquila de QuEra. Los detalles que se tratan aquí son los siguientes:

  1. El hamiltoniano parametrizado simulado por Aquila

  2. Parámetros del programa de AHS

  3. Contenido de resultados de AHS

  4. Parámetro de capacidades de Aquila

Hamiltoniano

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

Ecuación matemática con sumas que representan el hamiltoniano de un sistema e incluye términos de accionamiento, desintonización local y acoplamiento entre puntos.
nota

El acceso a la desintonización local es una capacidad experimental y está disponible previa solicitud a través de Braket Direct.

donde

  • Hdrive,k​(t)=( 1/2 ​Ω(t)eiϕ(t)S−,k​ + 1/2 ​Ω(t)e−iϕ(t) S+,k​) + (−Δglobal​(t)nk​),

    • Ω(t) es la amplitud de excitación 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 de reducción y aumento del espín del átomo k (en la base |↓⟩=|g⟩, |↑⟩=|r⟩, son S​=|g⟩⟨r|, S+​=(S​)=|r⟩⟨g|)

    • Δglobal​(t) es la desintonización global dependiente del tiempo

    • nk es el operador de proyección sobre el estado de Rydberg del átomo k (es decir, n=|r⟩⟨r|)

  • Hlocal detuning,k(t)=-Δlocal(t)hknk

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

    • hk es el factor dependiente del emplazamiento, un número adimensional entre 0,0 y 1,0

  • Vvdw,k,l​=C6​/(dk,l​)6nk​nl​,

    • C6​ es el coeficiente de van der Waals en unidades de (rad / s) * (m)^6

    • dk,l es la distancia euclidiana entre los átomos k y l, medida en metros.

Los usuarios tienen control sobre los siguientes parámetros a través del esquema del programa de AHS de Braket.

  • Disposición de átomos en 2-d (coordenadas xk e yk de cada átomo k, en unidades de um), que controla las distancias atómicas por pares dk,l​ con k,l=1,2,…N

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

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

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

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

  • hk, el factor (estático) dependiente del emplazamiento de la magnitud de la desintonizació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 Rydberg-Rydberg interacción (C6).

Esquema del programa de AHS de Braket

Objeto braket.ir.ahs.program_v1.Program (ejemplo)

nota

Si la característica desintonización local no está habilitada para su cuenta, use localDetuning=[] en el siguiente 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.000003')] ), pattern='uniform' ), detuning=PhysicalField( time_series=TimeSeries( values=[Decimal('-54000000.0'), Decimal('54000000.0')], times=[Decimal('0'), Decimal('0.000003')] ), 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)

nota

Si la característica desintonización local no está habilitada para su cuenta, use "localDetuning": [] en el siguiente 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.000003000] }, "pattern": "uniform" }, "detuning": { "time_series": { "values": [-54000000.0, 54000000.0], "times": [0E-9, 0.000003000] }, "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

List[List[Decimal]]

Lista de coordenadas 2-d donde las pinzas atrapan átomos

setup.ahs_register.filling

List[int]

Marca los átomos que ocupan los emplazamientos de la trampa con 1 y los emplazamientos vacíos con 0

hamiltonian.drivingFields[].amplitude.time_series.times

List[Decimal]

puntos temporales de la amplitud de accionamiento, Omega(t)

hamiltonian.drivingFields[].amplitude.time_series.values

List[Decimal]

valores de la amplitud de accionamiento, Omega(t)

hamiltonian.drivingFields[].amplitude.pattern

str

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

hamiltonian.drivingFields[].phase.time_series.times

List[Decimal]

puntos temporales de la fase de accionamiento, phi(t)

hamiltonian.drivingFields[].phase.time_series.values

List[Decimal]

valores de la fase de accionamiento, phi(t)

hamiltonian.drivingFields[].phase.pattern

str

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

hamiltonian.drivingFields[].detuning.time_series.times

List[Decimal]

puntos temporales de la desafinación de la conducción, Delta_global (t)

hamiltonian.drivingFields[].detuning.time_series.values

List[Decimal]

valores de la desafinación de la conducción, (t) Delta_global

hamiltonian.drivingFields[].detuning.pattern

str

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

hamiltonian.localDetuning[].magnitude.time_series.times

List[Decimal]

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

hamiltonian.localDetuning[].magnitude.time_series.values

List[Decimal]

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

hamiltonian.localDetuning[].magnitude.pattern

List[Decimal]

factor dependiente del emplazamiento de la magnitud de desintonización local, h_k (los valores corresponden a los emplazamientos en setup.ahs_register.sites)

Campos de metadatos
Campo de programa type description

corchete SchemaHeader.name

str

nombre del esquema; debe ser «braket.ir.ahs.program»

soporte SchemaHeader.version

str

versión del esquema

Esquema de resultados de tareas de 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 [] .shot Result.preSequence

List[int]

Pre-sequence bits de medición (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

mediciones [] .shot Result.postSequence

List[int]

Post-sequence bits de medición 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 siguen la evolución cuántica

Campos de metadatos
Campo de resultados de la tarea type description

corchete SchemaHeader.name

str

nombre del esquema; debe ser «braket.task_result.analog_hamiltonian_simulation_task_result»

soporte SchemaHeader.version

str

versión del esquema

tarea Metadata.braketSchemaHeader.name

str

nombre del esquema; debe ser «braket.task_result.task_metadata»

tarea Metadata.braketSchemaHeader.version

str

versión del esquema

tarea Metadata.id

str

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

tarea Metadata.shots

int

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

tarea Metadata.shots.deviceId

str

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

tarea Metadata.shots.createdAt

str

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

tarea Metadata.shots.endedAt

str

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

tarea Metadata.shots.status

str

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

tarea Metadata.shots.failureReason

str

El motivo del error de la tarea cuántica. El valor predeterminado es Ninguno.

adicional Metadata.action

braket.ir.ahs.program_v1.Program

(Consulte la sección Esquema del programa de AHS de Braket)

adicional Metadata.action.braketSchemaHeader.queraMetadata.name

str

nombre del esquema; debe ser «braket.task_result.quera_metadata»

adicional Metadata.action.braketSchemaHeader.queraMetadata.version

str

versión del esquema

adicional Metadata.action.numSuccessfulShots

int

número de shots totalmente de éxito; debe ser igual al número de shots solicitado

medidas [] .shot Metadata.shotStatus

int

El estado del shot (é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 de servicio
Campos de propiedades de servicio type description

service.executionWindows[].executionDay

ExecutionDay

Días del periodo de ejecución; debe ser «Todos los días», «Días laborables», «Fin de semana», «Lunes», «Martes», «Miércoles», «Jueves», «Viernes», «Sábado» o «Domingo»

Service.ExecutionWindows [] .window StartHour

datetime.time

Formato UTC de 24 horas de la hora en que comienza el periodo de ejecución

Service.ExecutionWindows [] .window EndHour

datetime.time

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

service.qpu_capabilities.service.shotsRange

Tuple[int, int]

Número mínimo y máximo de shots del dispositivo

service.qpu_capabilities.service.device Cost.price

float

Precio del dispositivo en dólares estadounidenses

service.qpu_capabilities.service.device Cost.unit

str

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

Campos de metadatos
Campo de metadatos type description

action[].version

str

versión del esquema del programa de AHS

action[].actionType

ActionType

nombre del esquema del programa de AHS; debe ser «braket.ir.ahs.program»

service.bracket SchemaHeader.name

str

nombre del esquema; debe ser «braket.device_schema.device_service_properties»

service.braket SchemaHeader.version

str

versión del esquema

servicio.dispositivo Documentation.imageUrl

str

URL de la imagen del dispositivo

servicio.dispositivo Documentation.summary

str

breve descripción del dispositivo

servicio.dispositivo Documentation.externalDocumentationUrl

str

URL de documentación externa

service.deviceLocation

str

ubicación geográfica del dispositivo

service.updatedAt

datetime

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