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 proporciona una documentación completa sobre las capacidades del Aquila máquina de QuEra. Los detalles que se tratan aquí son los siguientes: 1) El hamiltoniano parametrizado simulado por Aquila, 2) parámetros del AHS programa, 3) contenido del resultado, 4) AHS Aquila parámetro de capacidades. Le sugerimos que utilice la búsqueda de texto con las teclas Ctrl+F para encontrar los parámetros relevantes para sus preguntas.
En esta sección:
Hamiltoniano
La Aquila máquina de QuEra simula el siguiente hamiltoniano (dependiente del tiempo) de forma nativa:
nota
El acceso a la desafinación local es una capacidad experimental y está disponible previa solicitud a través de Braket Direct.
where
-
H drive,k (t) =( 1/ 2 Ω (t) e iφ (ts) −,k + 1/ 2 Ω (te) −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 de aumento y descenso del espín del átomo k (en la base |↓⟩=|g⟩, |¤ =|r⟩, son S =|gƒ⟨r|, S =( S−) † =|r~⟨g|) + −
-
△ global (t) es la desafinación global que depende del tiempo
-
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 BraketAHS.
-
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 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')], [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] } } ] } }
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 |
hamiltoniano. drivingFields[] .amplitude.time_series.times |
Lista [Decimal] |
puntos temporales de la amplitud impulsora, Omega (t) |
hamiltoniano. drivingFields[] .amplitude.time_series.valores |
Lista [Decimal] |
valores de la amplitud de accionamiento, Omega (t) |
hamiltoniano. drivingFields[] .amplitud.patrón |
str |
patrón espacial de la amplitud de accionamiento, Omega (t); debe ser «uniforme» |
hamiltoniano. drivingFields[] .phase.time_series.times |
Lista [Decimal] |
puntos temporales de la fase de conducción, phi (t) |
hamiltoniano. drivingFields[] .phase.time_series.values |
Lista [Decimal] |
valores de la fase de conducción, phi (t) |
hamiltoniano. drivingFields[] .fase.patrón |
str |
patrón espacial de la fase de conducción, phi (t); debe ser «uniforme» |
hamiltoniano. drivingFields[] .detuning.time_series.times |
Lista [Decimal] |
puntos temporales de desajuste de la conducción, delta_global (t) |
hamiltoniano. drivingFields[] .detuning.time_series.values |
Lista [Decimal] |
valores de desajuste de conducción, delta_global (t) |
hamiltoniano. drivingFields[] .desafining.pattern |
str |
patrón espacial de desajuste de conducción, delta_global (t); debe ser «uniforme» |
hamiltoniano. localDetuning[] .magnitude.time_series.times |
Lista [Decimal] |
puntos temporales del factor dependiente del tiempo de la magnitud de desafinación local, delta_local (t) |
hamiltoniano. localDetuning[] .magnitude.time_series.valores |
Lista [Decimal] |
valores del factor dependiente del tiempo de la magnitud de desafinación local, delta_local (t) |
hamiltoniano. localDetuning[] .magnitud.patrón |
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) |
Campo de programa | type | description |
---|---|---|
braketSchemaHeader.name |
str |
nombre del esquema; debe ser 'braket.ir.ahs.program' |
braketSchemaHeader.versión |
str |
versión del esquema |
Esquema de resultados de AHS tareas 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 } } }
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 |
mediciones []. 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 |
Campo de resultados de la tarea | type | description |
---|---|---|
braketSchemaHeader.name |
str |
nombre del esquema; debe ser 'braket.task_result.analog_hamiltonian_simulation_task_result' |
braketSchemaHeader.versión |
str |
versión del esquema |
taskMetadata. braketSchemaHeader.nombre |
str |
nombre del esquema; debe ser 'braket.task_result.task_metadata' |
taskMetadata. 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ánticaARN. |
taskMetadata... disparos. |
int |
El número de disparos de la tarea cuántica |
taskMetadata.disparos. 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 dispositivoARN. |
taskMetadata.disparos. createdAt |
str |
La marca de tiempo de la creación; el formato debe estar en el formato ISO RFC3339 -8601/ string:MM:SS.SSSZ. YYYY-MM-DDTHH El valor predeterminado es Ninguno. |
taskMetadata.shots. endedAt |
str |
La marca de tiempo en la que finalizó la tarea cuántica; el formato debe estar en el formato ISO RFC3339 -8601/ string:MM:SS.SSSZ. YYYY-MM-DDTHH El valor predeterminado es Ninguno. |
taskMetadata.shots.status |
str |
El estado de la tarea cuántica (CREATED,,,QUEUED,RUNNING). COMPLETED FAILED El valor predeterminado es Ninguno. |
taskMetadata.shots. failureReason |
str |
La razón del fracaso de la tarea cuántica. El valor predeterminado es Ninguno. |
additionalMetadata.acción |
Braket.ir.AHS.Program_v1.program |
|
additionalMetadata.acción. braketSchemaHeader. queraMetadata.nombre |
str |
nombre del esquema; debe ser 'braket.task_result.quera_metadata' |
additionalMetadata.acción. braketSchemaHeader. queraMetadata.versión |
str |
versión del esquema |
additionalMetadata.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 del tiro (é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 ... } }
Campo de propiedades del servicio | type | description |
---|---|---|
servicio. executionWindows[]. executionDay |
ExecutionDay |
Días del período 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» |
servicio. executionWindows[]. windowStartHour |
fecha y hora |
UTCformato de 24 horas de la hora en que se inicia la ventana de ejecución |
servicio. executionWindows[]. windowEndHour |
fecha y hora |
UTCformato 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.precio |
float |
Precio del dispositivo en dólares estadounidenses |
service.qpu_capabilities.service. deviceCost.unidad |
str |
unidad para cobrar el precio, por ejemplo: «minuto», «hora», «tiro», «tarea» |
Campo de metadatos | type | description |
---|---|---|
acción [] .versión |
str |
versión del esquema del AHS programa |
acción []. actionType |
ActionType |
AHSnombre del esquema del programa; 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 |
servicio. deviceDocumentation. imageUrl |
str |
URLpara la imagen del dispositivo |
servicio. deviceDocumentation.resumen |
str |
breve descripción del dispositivo |
servicio. deviceDocumentation. externalDocumentationUrl |
str |
documentación externa URL |
servicio. deviceLocation |
str |
ubicación geográfica del dispositivo |
servicio. updatedAt |
datetime |
hora en que se actualizaron las propiedades del dispositivo por última vez |