

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
<a name="braket-quera-submitting-analog-program-aquila"></a>

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

1. Parámetros del programa de AHS

1. Contenido de resultados de AHS

1. Parámetro de capacidades de Aquila

**Topics**
+ [Hamiltoniano](#braket-quera-aquila-device-hamiltonian)
+ [Esquema del programa de AHS de Braket](#braket-quera-ahs-program-schema)
+ [Esquema de resultados de tareas de AHS de Braket](#braket-quera-ahs-task-result-schema)
+ [QuEra esquema de propiedades del dispositivo](#braket-quera-device-properties-schema)

## Hamiltoniano
<a name="braket-quera-aquila-device-hamiltonian"></a>

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.](http://docs.aws.amazon.com/es_es/braket/latest/developerguide/images/TimeDependentDrivingHamiltonian.png)


**nota**  
El acceso a la desintonización local es una [capacidad experimental](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html) 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
<a name="braket-quera-ahs-program-schema"></a>

 **Objeto braket.ir.ahs.program\_v1.Program** (ejemplo)

**nota**  
Si la característica [desintonización local](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html#braket-access-local-detuning) 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](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html#braket-access-local-detuning) 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
<a name="braket-quera-ahs-task-result-schema"></a>

 **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](#braket-quera-ahs-program-schema)) | 
| 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
<a name="braket-quera-device-properties-schema"></a>

 **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 | 