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

Esta página proporciona una documentación completa sobre las capacidades de laAquila 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 deAquila capacidades. Le sugerimos que utilice la búsqueda de texto Ctrl+F para encontrar los parámetros relevantes para sus preguntas.

hamiltoniano

LaAquila máquina deQuEra simula de forma nativa el siguiente hamiltoniano (dependiente del tiempo):


               TimeDependentDrivingHamiltonian

where

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

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

    • ω (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 base|↓⟩ =|g⟩, |↑ =|r⟩, son S =|g~r|, S+ =( S) =|rg|)

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

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

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

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

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

Los usuarios tienen control sobre los siguientes parámetros mediante el esquema del programa Braket AHS.

  • Disposición bidimensional de átomos (kcoordenadas xk e y 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 global de Rabi dependiente del tiempo, en unidades de (rad/ s)

  • ω (t), la fase global dependiente del tiempo, en unidades de (rad/s)

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

nota

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

Esquema del programa Braket AHS

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')]], filling=[1] ) ), hamiltonian=Hamiltonian( drivingFields=[ DrivingField( amplitude=PhysicalField( time_series=TimeSeries( values=[Decimal('0'), Decimal('15700000.0')], times=[Decimal('0'), Decimal('0.000001')] ), 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' ) ) ], shiftingFields=[] ) )

JSON (ejemplo)

{ "braketSchemaHeader": { "name": "braket.ir.ahs.program", "version": "1" }, "setup": { "ahs_register": { "sites": [[0E-7, 0E-7]], "filling": [1] } }, "hamiltonian": { "drivingFields": [ { "amplitude": { "time_series": { "values": [0.0, 15700000.0], "times": [0E-9, 0.000001000] }, "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" } } ], "shiftingFields": [] } }
Campos principales
Campo del programa type description

setup.ahs_register.sites

Lista [Lista [Decimal]]

Lista de coordenadas bidimensionales donde las pinzas atrapan átomos

setup.ahs_register.filling

Lista [int]

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

hamiltonian.drivingFields [] .amplitude.time_series.times

Lista [Decimal]

puntos temporales de la amplitud de conducción, Omega (t)

hamiltonian.drivingFields [] .amplitude.time_series.values

Lista [Decimal]

valores de amplitud de conducción, Omega (t)

hamiltoniano. DrivingFields [] .amplitude.pattern

str

patrón espacial de la amplitud de conducción, 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 desafinación de conducción, delta_global (t)

hamiltonian.drivingFields [] .detuning.time_series.values

Lista [Decimal]

valores de conducción desafinando, delta_global (t)

hamiltoniano. DrivingFields [] .detuning.pattern

str

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

Hamiltoniano. Campos cambiantes

List

debe estar vacío

Campos de metadatos
Campo del 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 tareas de Braket AHS

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 resultado de la tarea type description

medidas [] .ShotResult.PreSequence

Lista [int]

Bits de medición previa a la secuencia (uno para cada sitio atómico) para cada disparo: 0 si el sitio está vacío, 1 si el sitio está lleno, medidos antes de las secuencias de pulsos que ejecutan 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 estado fundamental, medidos al final de las secuencias de pulsos que ejecutan la evolución cuántica

Campos de metadatos
Campo de resultado 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 tareas. braketSchemaHeader.versión

str

versión del esquema

TaskMetadata.id

str

El ID de la tarea. ParaAWS las tareas, este es el ARN de la tarea.

Metadatos de tareas. Shots

int

El número de disparos de la tarea

TaskMetadata.shots.DeviceID

str

El ID del dispositivo en el que se ejecutó la tarea. ParaAWS los dispositivos, este es el ARN del dispositivo.

Taskmetadata.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 en la que finalizó la tarea; el formato debe estar en el formato de cadena ISO-8601/RFC3339 yyyy-MM-DDTHH:mm:ss.sssz. El valor predeterminado es Ninguno.

Metadata.shots.status de la tarea

str

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

Motivo del error de taskmetadata.shots.

str

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

Metadatos adicionales. Acción

Braket.ir.ahs.program_v1.program

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

Metadatos adicionales. Acción. braketSchemaHeader.queraMetadata.name

str

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

Metadatos adicionales. Acción. braketSchemaHeader.queraMetadata. Versión

str

versión del esquema

Metadatos adicionales. Acción. numSuccessfulShots

int

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

medidas [] .shotMetadata.shotStatus

int

El estado de la inyección (é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.TUESDAY: 'Tuesday'>, windowStartHour=datetime.time(16, 0), windowEndHour=datetime.time(20, 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(2022, 10, 24, 15, 45, tzinfo=datetime.timezone.utc) ), 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( braketSchemaHeader=BraketSchemaHeader( name='braket.device_schema.quera.quera_ahs_paradigm_properties', version='1' ), qubitCount=256, lattice=Lattice( area=Area( width=Decimal('0.000075'), height=Decimal('0.0001') ), geometry=Geometry( spacingRadialMin=Decimal('0.000004'), spacingVerticalMin=Decimal('0.000004'), positionResolution=Decimal('1E-7'), numberSitesMax=256 ) ), rydberg=Rydberg( c6Coefficient=Decimal('5.42E-24'), rydbergGlobal=RydbergGlobal( rabiFrequencyRange=(Decimal('0.0'), Decimal('15800000.0')), rabiFrequencyResolution=Decimal('400.0'), rabiFrequencySlewRateMax=Decimal('250000000000000.0'), detuningRange=(Decimal('-125000000.0'), Decimal('125000000.0')), detuningResolution=Decimal('0.2'), detuningSlewRateMax=Decimal('2500000000000000.0'), phaseRange=(Decimal('-99.0'), Decimal('99.0')), phaseResolution=Decimal('5E-7'), timeResolution=Decimal('1E-9'), timeDeltaMin=Decimal('1E-8'), timeMin=Decimal('0.0'), timeMax=Decimal('0.000004') ) ), performance=Performance( lattice=PerformanceLattice( positionErrorAbs=Decimal('1E-7') ), rydberg=PerformanceRydberg( rydbergGlobal=PerformanceRydbergGlobal( rabiFrequencyErrorRel=Decimal('0.02') ) ) ) ) )

JSON (ejemplo)

{ "service": { "braketSchemaHeader": { "name": "braket.device_schema.device_service_properties", "version": "1" }, "executionWindows": [ { "executionDay": "Tuesday", "windowStartHour": "16:00:00", "windowEndHour": "20: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": "2022-10-24T15:45: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": { "braketSchemaHeader": { "name": "braket.device_schema.quera.quera_ahs_paradigm_properties", "version": "1" }, "qubitCount": 256, "lattice": { "area": { "width": 7.5e-05, "height": 0.0001 }, "geometry": { "spacingRadialMin": 4e-06, "spacingVerticalMin": 4e-06, "positionResolution": 1e-07, "numberSitesMax": 256 } }, "rydberg": { "c6Coefficient": 5.42e-24, "rydbergGlobal": { "rabiFrequencyRange": [0.0,15800000.0], "rabiFrequencyResolution": 400.0, "rabiFrequencySlewRateMax": 250000000000000.0, "detuningRange": [-125000000.0, 125000000.0], "detuningResolution": 0.2, "detuningSlewRateMax": 2500000000000000.0, "phaseRange": [-99.0, 99.0], "phaseResolution": 5e-07, "timeResolution": 1e-09, "timeDeltaMin": 1e-08, "timeMin": 0.0, "timeMax": 4e-06 } }, "performance": { "lattice": { "positionErrorAbs": 1e-07 }, "rydberg": { "rydbergGlobal": { "rabiFrequencyErrorRel": 0.02 } } } } }
Campos de capacidades
Campo de resultado de la tarea type description

Paradigm.Qubit Count

int

el número de qubits

paradigm.retice.area.width

Decimal (Decimal)

Diferencia máxima permitida entre las coordenadas x de dos sitios (medida en metros)

paradigma, celosía, área, altura

Decimal (Decimal)

Diferencia máxima permitida entre las coordenadas y de dos sitios (medida en metros)

paradigma, celosía, geometría. spacingRadialMin

Decimal (Decimal)

Espacio radial mínimo entre dos sitios de la red (medido en metros)

paradigma, celosía, geometría. spacingVerticalMin

Decimal (Decimal)

Espacio mínimo entre dos filas de la celosía (medido en metros)

Paradigma. Red. Geometría. Resolución de posición

Decimal (Decimal)

Resolución con la que se pueden especificar las posiciones del sitio (medida en metros)

paradigma, celosía, geometría. numberSitesMax

int

Número máximo de sitios que se pueden colocar en la red

Paradigm.Rydberg.Coeficiente C6

Decimal (Decimal)

Coeficiente de interacción C6 de Rydberg-Rydberg (medido en (rad/s) *m^6)

Paradigm.Rydberg.RydbergGlobal. rabiFrequencyRange

Tupla [Decimal, Decimal]

Rango de frecuencia Rabi alcanzable para la serie temporal global de unidades de Rydberg (medido en rad/s)

Paradigm.Rydberg.RydbergGlobal. rabiFrequencyResolution

Decimal (Decimal)

Resolución con la que se puede especificar la amplitud de frecuencia global de Rabi (medida en rad/s)

Paradigm.Rydberg.RydbergGlobal. rabiFrequencySlewRateMax

Decimal (Decimal)

Velocidad de respuesta máxima para cambiar la frecuencia global de Rabi (medida en (rad/s) /s)

Paradigm.Rydberg.RydbergGlobal. De Tuning Range

Tupla [Decimal, Decimal]

Rango de desafinación alcanzable para el pulso global de Rydberg (medido en rad/s)

Paradigm.Rydberg.RydberggGlobal. Resolution

Decimal (Decimal)

Resolución con la que se puede especificar la desafinación global (medida en rad/s)

Paradigm.Rydberg.RydbergGlobal. detuningSlewRateMáximo

Decimal (Decimal)

Velocidad máxima de respuesta para la desafinación (medida en (rad/s) /s)

Paradigm.Rydberg.RydbergGlobal.PhaseRange

Tupla [Decimal, Decimal]

Intervalo de fase alcanzable para el pulso global de Rydberg (medido en rad)

Paradigm.Rydberg.RydbergGlobal.Resolución de fase

Decimal (Decimal)

Resolución con la que se puede especificar la fase de frecuencia global de Rabi (medida en rad)

Paradigm.Rydberg.RydberggGlobal.Time Resolution

Decimal (Decimal)

Resolución con la que se pueden especificar los tiempos de los parámetros globales de la unidad Rydberg (medida en s)

Paradigm.Rydberg.RydbergGlobal. timeDeltaMin

Decimal (Decimal)

Intervalo de tiempo mínimo con el que se pueden especificar los tiempos de los parámetros globales de la unidad Rydberg (medidos en s)

Paradigm.Rydberg.RydberggGlobal.Timemin

Decimal (Decimal)

Duración mínima de la conducción en Rydberg (medida en s)

Paradigm.Rydberg.RydbergGlobal.TimeMax

Decimal (Decimal)

Duración máxima de la conducción en Rydberg (medida en s)

Campos de rendimiento
Campo de resultado de la tarea type description

paradigm.performance.entramado. positionErrorAbs

Decimal (Decimal)

Error entre la posición objetivo y la posición real del sitio (medido en metros)

Paradigm.peformance.RydbergGlobal. rabiFrequencyErrorRel

Decimal (Decimal)

error aleatorio en la frecuencia de Rabi, relativo (sin unidades)

Campos de propiedades del servicio
Campo de resultado de la tarea type description

service.executionWindows [] .Día de ejecución

ExecutionDay

Días del período de ejecución; deben ser «Todos los días», «De lunes a viernes», «fin de semana», «lunes», «martes», «miércoles», «jueves», «viernes», «sábado» o «domingo»

Servicio.ejecuciónWindows []. windowStartHour

fecha.hora

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

Servicio.ejecuciónWindows []. windowEndHour

fecha.hora

Formato de 24 horas UTC 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 resultado de la tarea type description

paradigma. braketSchemaHeader.nombre

str

nombre del esquema; debe ser 'braket.device_schema.quera.quera_ahs_paradigm_properties'

paradigma. braketSchemaHeader.versión

str

versión del esquema

action [] .version

str

versión del esquema del programa AHS

action [] .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

Documentación de service.device. Resumen

str

breve descripción del dispositivo

Documentación del servicio. Dispositivo. externalDocumentationUrl

str

URL de documentación externa

Ubicación del servicio. Dispositivo

str

ubicación geográfica del dispositivo

Servicio. Actualizado en

datetime

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