Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Soumettre un programme analogique à l'aide d' QuEra Aquila
Cette page fournit une documentation complète sur les fonctionnalités du Aquila machine de QuEra. Les détails abordés ici sont les suivants : 1) L'hamiltonien paramétré simulé par Aquila, 2) paramètres AHS du programme, 3) contenu du AHS résultat, 4) Aquila paramètre de capacités. Nous vous conseillons d'utiliser la fonction de recherche textuelle sur Ctrl+F pour trouver les paramètres correspondant à vos questions.
Dans cette section :
hamiltonien
Le Aquila machine de QuEra simule nativement l'hamiltonien suivant (dépendant du temps) :
Note
L'accès au désaccordage local est une fonctionnalité expérimentale et est disponible sur demande via Braket Direct.
où
-
H drive,k (t) = (1/2Ω (t) e iφ (t) S −,k + 1/2Ω (t) e −iφ (t) S) + (−Δ global (t+,k) n), k
-
Ω (t) est l'amplitude de conduite globale en fonction du temps (également appelée fréquence de Rabi), en unités de (rad/s)
-
φ (t) est la phase globale dépendante du temps, mesurée en radians
-
S −,k et S +,k sont les opérateurs d'abaissement et d'augmentation du spin de l'atome k (dans la base |↓⟩=|g⟩, |↑=|r⟩, ce sont S =|g⟨r|, S =( S) − † =|r⟨g|) + −
-
Δ global (t) est le déréglage global dépendant du temps
-
n k est l'opérateur de projection sur l'état de Rydberg de l'atome k (c'est-à-dire n=|r⟨r|)
-
-
H local detuning,k (t) =-Δ local (t) h n k k
-
Δ local (t) est le facteur dépendant du temps du décalage de fréquence local, en unités de (rad/s)
h k est le facteur dépendant du site, un nombre sans dimension compris entre 0,0 et 1,0
-
-
V vdw,k,l = C6/(dk,l) 6 n k n, l
-
C 6 est le coefficient de van der Waals, en unités de (rad/s) * (m) ^6
-
d k,l est la distance euclidienne entre l'atome k et l, mesurée en mètres.
-
Les utilisateurs peuvent contrôler les paramètres suivants via le schéma du AHS programme Braket.
-
Arrangement bidimensionnel des atomes (kcoordonnées x k et y de chaque atome k, en unités de µm), qui contrôle les distances atomiques par paires d k,l avec k, l=1,2,... N
-
Ω (t), fréquence globale de Rabi dépendante du temps, en unités de (rad/s)
-
φ (t), phase globale dépendante du temps, en unités de (rad)
-
Δ global (t), le désaccordage global dépendant du temps, en unités de (rad/s)
-
Δ local (t), le facteur (global) dépendant du temps de l'ampleur du déréglage local, en unités de (rad/s)
-
hk, le facteur (statique) dépendant du site de l'ampleur du déréglage local, un nombre adimensionnel compris entre 0,0 et 1,0
Note
L'utilisateur ne peut pas contrôler les niveaux concernés (c'est-à-dire que les opérateurs S−, S+, n sont fixes) ni la force du coefficient d'interaction Rydberg-Rydberg (C). 6
Schéma du AHS programme Braket
Objet Braket.IR.AHS.Program_V1.program (exemple)
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(exemple)
{ "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] } } ] } }
Champ du programme | type | description |
---|---|---|
setup.ahs_register.sites |
Liste [Liste [Décimal]] |
Liste des coordonnées bidimensionnelles où la pince à épiler piège les atomes |
setup.ahs_register.filling |
Liste [int] |
Marque les atomes qui occupent les sites piégés avec 1 et les sites vides avec 0 |
hamiltonien. drivingFields[] .amplitude.time_series.times |
Liste [décimale] |
points temporels de l'amplitude de conduite, Omega (t) |
hamiltonien. drivingFields[] .amplitude.time_series.values |
Liste [décimale] |
valeurs de l'amplitude de conduite, Omega (t) |
hamiltonien. drivingFields[] .amplitude.modèle |
str |
schéma spatial de l'amplitude de conduite, Omega (t) ; doit être « uniforme » |
hamiltonien. drivingFields[] .phase.time_series.times |
Liste [décimale] |
points temporels de la phase de conduite, phi (t) |
hamiltonien. drivingFields[] .phase.time_series.values |
Liste [décimale] |
valeurs de la phase de conduite, phi (t) |
hamiltonien. drivingFields[] .phase.pattern |
str |
schéma spatial de la phase de conduite, phi (t) ; doit être « uniforme » |
hamiltonien. drivingFields[] .detuning.time_series.times |
Liste [décimale] |
points temporels du désaccordage de conduite, Delta_global (t) |
hamiltonien. drivingFields[] .detuning.time_series.values |
Liste [décimale] |
valeurs du désaccordage de conduite, Delta_global (t) |
hamiltonien. drivingFields[] .detuning.pattern |
str |
schéma spatial de désaccordage de conduite, Delta_global (t) ; doit être « uniforme » |
hamiltonien. localDetuning[] .magnitude.time_series.times |
Liste [décimale] |
points temporels du facteur dépendant du temps de l'amplitude de déréglage locale, Delta_local (t) |
hamiltonien. localDetuning[] .magnitude.time_series.values |
Liste [décimale] |
valeurs du facteur dépendant du temps de l'amplitude de déréglage locale, Delta_local (t) |
hamiltonien. localDetuning[] .magnitude.motif |
Liste [décimale] |
facteur dépendant du site de l'amplitude du déréglage local, h_k (les valeurs correspondent aux sites dans setup.ahs_register.sites) |
Champ du programme | type | description |
---|---|---|
braketSchemaHeader.nom |
str |
nom du schéma ; doit être « braket.ir.ahs.program » |
braketSchemaHeader.version |
str |
version du schéma |
Schéma des résultats des AHS tâches Braket
braket.tasks.analog_hamiltonian_simulation_quantum_task_result. AnalogHamiltonianSimulationQuantumTaskResult(exemple)
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(exemple)
{ "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 } } }
Champ de résultat de la tâche | type | description |
---|---|---|
mesures []. shotResult. preSequence |
Liste [int] |
Bits de mesure de pré-séquence (un pour chaque site atomique) pour chaque tir : 0 si le site est vide, 1 si le site est plein, mesurés avant les séquences d'impulsions qui exécutent l'évolution quantique |
mesures []. shotResult. postSequence |
Liste [int] |
Bits de mesure post-séquence pour chaque tir : 0 si l'atome est dans l'état de Rydberg ou si le site est vide, 1 si l'atome est dans l'état fondamental, mesurés à la fin des séquences d'impulsions qui exécutent l'évolution quantique |
Champ de résultat de la tâche | type | description |
---|---|---|
braketSchemaHeader.nom |
str |
nom du schéma ; doit être « braket.task_result.analog_hamiltonian_simulation_task_result » |
braketSchemaHeader.version |
str |
version du schéma |
taskMetadata. braketSchemaHeader.nom |
str |
nom du schéma ; doit être « braket.task_result.task_metadata » |
taskMetadata. braketSchemaHeader.version |
str |
version du schéma |
taskMetadata.id |
str |
L'identifiant de la tâche quantique. Pour les tâches AWS quantiques, il s'agit de la tâche quantiqueARN. |
taskMetadata.photos |
int |
Le nombre de tirs pour la tâche quantique |
taskMetadata.coups de feu. deviceId |
str |
L'identifiant de l'appareil sur lequel la tâche quantique s'est exécutée. Pour les AWS appareils, il s'agit de l'appareilARN. |
taskMetadata.coups de feu. createdAt |
str |
Horodatage de création ; le format doit être au format ISO RFC3339 -8601/ string format:MM:SS.SSSZ. YYYY-MM-DDTHH La valeur par défaut est None. |
taskMetadata.coups de feu. endedAt |
str |
Horodatage de la fin de la tâche quantique ; le format doit être au format ISO RFC3339 -8601/ string format:MM:SS.SSSZ. YYYY-MM-DDTHH La valeur par défaut est None. |
taskMetadata.prises de vue .status |
str |
État de la tâche quantique (CREATED,QUEUED,RUNNING,COMPLETED,FAILED). La valeur par défaut est None. |
taskMetadata.coups de feu. failureReason |
str |
La raison de l'échec de la tâche quantique. La valeur par défaut est None. |
additionalMetadata.action |
Braket.IR.AHS.Program_V.1 |
(Voir la section Schéma du AHS programme Braket) |
additionalMetadata.action. braketSchemaHeader. queraMetadata.nom |
str |
nom du schéma ; doit être « braket.task_result.quera_metadata » |
additionalMetadata.action. braketSchemaHeader. queraMetadata.version |
str |
version du schéma |
additionalMetadata.action. numSuccessfulShots |
int |
nombre de prises complètement réussies ; doit être égal au nombre de prises demandé |
mesures []. shotMetadata. shotStatus |
int |
Le statut du tir (succès, succès partiel, échec) doit être « Succès » |
QuEra schéma des propriétés de l'appareil
braket.device_schema.quera.quera_device_capabilities_v1. QueraDeviceCapabilities(exemple)
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(exemple)
{ "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 ... } }
Champ des propriétés du service | type | description |
---|---|---|
service. executionWindows[]. executionDay |
ExecutionDay |
Jours de la fenêtre d'exécution ; doivent être « Tous les jours », « Jours de semaine », « Week-end », « lundi », « mardi », « mercredi », « jeudi », « vendredi », « samedi » ou « dimanche » |
service. executionWindows[]. windowStartHour |
datetime.heure |
UTCFormat de 24 heures indiquant l'heure de début de la fenêtre d'exécution |
service. executionWindows[]. windowEndHour |
datetime.heure |
UTCFormat de 24 heures indiquant l'heure de fin de la fenêtre d'exécution |
service.qpu_capabilities.service. shotsRange |
Tuple [int, int] |
Nombre minimum et maximum de prises de vue pour l'appareil |
service.qpu_capabilities.service. deviceCost.prix |
float |
Prix de l'appareil en dollars américains |
service.qpu_capabilities.service. deviceCost.unité |
str |
unité pour facturer le prix, par exemple : « minute », « heure », « shot », « task » |
Champ de métadonnées | type | description |
---|---|---|
action [] .version |
str |
version du schéma AHS du programme |
action []. actionType |
ActionType |
AHSnom du schéma du programme ; doit être « braket.ir.ahs.program » |
service. braketSchemaHeader.nom |
str |
nom du schéma ; doit être « braket.device_schema.device_service_properties » |
service. braketSchemaHeader.version |
str |
version du schéma |
service. deviceDocumentation. imageUrl |
str |
URLpour l'image de l'appareil |
service. deviceDocumentation.résumé |
str |
brève description de l'appareil |
service. deviceDocumentation. externalDocumentationUrl |
str |
documentation externe URL |
service. deviceLocation |
str |
emplacement géographique de l'appareil |
service. updatedAt |
datetime |
heure à laquelle les propriétés de l'appareil ont été mises à jour pour la dernière fois |