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:
-
El hamiltoniano parametrizado simulado por Aquila
-
Parámetros del programa de AHS
-
Contenido de resultados de AHS
-
Parámetro de capacidades de Aquila
En esta sección:
Hamiltoniano
La máquina Aquila de QuEra simula el siguiente hamiltoniano (dependiente del tiempo) de forma nativa:
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)6nknl,
-
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 intervienen (es decir, los operadores S−, S+ y n son fijos) ni la intensidad del coeficiente de interacción Rydberg-Rydberg (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] } } ] } }
| 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 desintonización de accionamiento, Delta_global(t) |
|
hamiltonian.drivingFields[].detuning.time_series.values |
List[Decimal] |
valores de desintonización de accionamiento, Delta_global(t) |
|
hamiltonian.drivingFields[].detuning.pattern |
str |
patrón espacial de desintonización de 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 desintonización local, Delta_local(t) |
|
hamiltonian.localDetuning[].magnitude.time_series.values |
List[Decimal] |
valores del factor dependiente del tiempo de la magnitud de desintonización local, Delta_local(t) |
|
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) |
| 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 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 } } }
| Campo de resultados de la tarea | type | description |
|---|---|---|
|
measurements[].shotResult.preSequence |
List[int] |
Bits de medición previos a la secuencia (uno por cada emplazamiento atómico) para cada shot: 0 si el emplazamiento está vacío, 1 si el emplazamiento está lleno, medidos antes de las secuencias de pulsos que ejecutan la evolución cuántica |
|
measurements[].shotResult.postSequence |
List[int] |
Bits de medición posteriores a la secuencia para cada shot: 0 si el átomo se encuentra en estado de Rydberg o el emplazamiento está vacío, 1 si el átomo se encuentra en estado fundamental, medido al final de las secuencias de pulsos que ejecutan 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 |
|
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. |
|
taskMetadata.shots |
int |
El número de shots de la tarea cuántica |
|
taskMetadata.shots.deviceId |
str |
El ID del dispositivo en el que se ejecutó la tarea cuántica. Para AWS los dispositivos, este es el ARN del dispositivo. |
|
taskMetadata.shots.createdAt |
str |
La marca de tiempo de la creación; el formato debe estar en el formato RFC3339 ISO-8601/ de cadena: 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-8601/ de cadena: MM:SS.SSSZ. RFC3339 YYYY-MM-DDTHH 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. |
|
taskMetadata.shots.failureReason |
str |
El motivo del error de la tarea cuántica. El valor predeterminado es Ninguno. |
|
additionalMetadata.action |
braket.ir.ahs.program_v1.Program |
(Consulte la sección Esquema del programa de AHS de Braket) |
|
Metadatos adicionales. Acción. braketSchemaHeaderMetadatos.Nombre de quera.Metadatos |
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 shots totalmente de éxito; debe ser igual al número de shots solicitado |
|
measurements[].shotMetadata.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 | 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 []. windowStartHour |
datetime.time |
Formato UTC de 24 horas de la hora en que comienza el periodo de ejecución |
|
Service.ExecutionWindows []. windowEndHour |
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.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», «disparo», «tarea» |
| 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» |
|
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.deviceLocation |
str |
ubicación geográfica del dispositivo |
|
service.updatedAt |
datetime |
hora en que se actualizaron las propiedades del dispositivo por última vez |