Invia un programma analogico usando Aquila QuEra - Amazon Braket

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invia un programma analogico usando Aquila QuEra

Questa pagina fornisce una documentazione completa sulle funzionalità di Aquila macchina da QuEra. I dettagli trattati qui sono i seguenti: 1) L'hamiltoniano parametrizzato simulato da Aquila, 2) parametri del AHS programma, 3) contenuto dei risultati, 4) AHS Aquila parametro delle capacità. Ti consigliamo di utilizzare la ricerca testuale Ctrl+F per trovare i parametri pertinenti alle tue domande.

Hamiltoniano

Il Aquila macchina da QuEra simula nativamente il seguente hamiltoniano (dipendente dal tempo):

Equazione matematica con sommatorie che rappresentano l'hamiltoniana di un sistema, che include i termini drive, detoning locale e accoppiamento interdot.

dove

  • H drive,k (t) =( 1/2Ω (t) e i (t) S −,k + 1/2Ω (t) s) + (−Δ (t+,k​) n), global k

    • Ω (t) è l'ampiezza di guida globale, dipendente dal tempo (nota anche come frequenza Rabi), espressa in unità di (rad/s)

    • □ (t) è la fase globale, dipendente dal tempo, misurata in radianti

    • S −,k​ e S +,k sono gli operatori che abbassano e alzano lo spin dell'atomo k (nella base |↓⟩=|g⟩, |↑=|r⟩, sono S =|gr|, S =( S) † =|rg|) +

    • Δ (globalt) è la detonazione globale e dipendente dal tempo

    • n k è l'operatore di proiezione sullo stato di Rydberg dell'atomo k (cioè n=|r.co.r|)

  • H (t) =-Δ (t) h n local detuning,k local k k

    • Δ local (t) è il fattore dipendente dal tempo dello spostamento di frequenza locale, espresso in unità di (rad/s)

    • h k è il fattore dipendente dal sito, un numero adimensionale compreso tra 0,0 e 1,0

  • V vdw,k,l = C6​/(dk,l) 6 n n, k l

    • C 6 è il coefficiente di van der Waals, espresso in unità di (rad/ s) * (m) ^6

    • d k,l è la distanza euclidea tra l'atomo k e l, misurata in metri.

Gli utenti hanno il controllo sui seguenti parametri tramite lo schema del programma Braket. AHS

  • Disposizione bidimensionale degli atomi (kcoordinate x k e y di ciascun atomo k, in unità di um), che controlla le distanze atomiche a coppie d k,l​ con k, l=1,2,... N

  • Ω (t), la frequenza Rabi globale dipendente dal tempo, in unità di (rad/ s)

  • (t), la fase globale, dipendente dal tempo, in unità di (rad)

  • Δ global (t), la detonizzazione globale dipendente dal tempo, in unità di (rad/s)

  • Δ local (t), il fattore (globale) dipendente dal tempo dell'entità della detonizzazione locale, in unità di (rad/ s)

  • hk, il fattore (statico) dipendente dal sito dell'entità della detonizzazione locale, un numero adimensionale compreso tra 0,0 e 1,0

Nota

L'utente non può controllare quali livelli sono coinvolti (ad esempio gli operatori S, S+​, n sono fissi) né l'intensità del coefficiente di interazione Rydberg-Rydberg (C). 6

Schema del programma Braket AHS

Oggetto Braket.ir.ahs.program_v1.program (esempio)

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(esempio)

{ "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] } } ] } }
Campi principali
Campo del programma tipo description

setup.ahs_register.sites

Elenco [Elenco [Decimale]]

Elenco delle coordinate bidimensionali in cui le pinzette intrappolano gli atomi

setup.ahs_register.filling

Elenco [int]

Contrassegna gli atomi che occupano i siti trap con 1 e i siti vuoti con 0

hamiltoniano. drivingFields[] .amplitude.time_series.times

Elenco [Decimale]

punti temporali dell'ampiezza di guida, Omega (t)

hamiltoniano. drivingFields[] .amplitude.time_series.values

Elenco [Decimale]

valori dell'ampiezza di guida, Omega (t)

hamiltoniano. drivingFields[] .ampiezza.modello

str

modello spaziale di ampiezza di guida, Omega (t); deve essere «uniforme»

hamiltoniana. drivingFields[] .phase.time_series.times

Elenco [Decimale]

punti temporali della fase di guida, phi (t)

hamiltoniano. drivingFields[] .phase.time_series.values

Elenco [Decimale]

valori della fase di guida, phi (t)

hamiltoniano. drivingFields[] .phase.pattern

str

modello spaziale della fase di guida, phi (t); deve essere «uniforme»

hamiltoniano. drivingFields[] .detuning.time_series.times

Elenco [Decimale]

punti temporali di desintonizzazione della guida, delta_Global (t)

hamiltoniana. drivingFields[] .detuning.time_series.values

Elenco [Decimale]

valori della detonizzazione della guida, delta_Global (t)

hamiltoniano. drivingFields[] .detuning.pattern

str

modello spaziale di detuning di guida, delta_global (t); deve essere «uniforme»

hamiltoniano. localDetuning[] .magnitude.time_series.times

Elenco [Decimale]

punti temporali del fattore dipendente dal tempo della magnitudine locale di detonizzazione, delta_local (t)

hamiltoniana. localDetuning[] .magnitude.time_series.values

Elenco [Decimale]

valori del fattore dipendente dal tempo della magnitudine locale di detonizzazione, delta_local (t)

hamiltoniana. localDetuning[] .magnitude.modello

Elenco [Decimale]

fattore dipendente dal sito della magnitudine di detonizzazione locale, h_k (i valori corrispondono ai siti in setup.ahs_register.sites)

Campi di metadati
Campo del programma tipo description

braketSchemaHeader.nome

str

nome dello schema; deve essere 'braket.ir.ahs.program'

braketSchemaHeader.versione

str

versione dello schema

schema dei risultati dell'AHSattività Braket

braket.tasks.analog_hamiltonian_simulation_quantum_task_result. AnalogHamiltonianSimulationQuantumTaskResult(esempio)

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(esempio)

{ "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 } } }
Campi principali
Campo dei risultati dell'attività tipo description

misurazioni []. shotResult. preSequence

Elenco [int]

Bit di misurazione pre-sequenza (uno per ogni sito atomico) per ogni ripresa: 0 se il sito è vuoto, 1 se il sito è pieno, misurati prima delle sequenze di impulsi che eseguono l'evoluzione quantistica

misurazioni []. shotResult. postSequence

Elenco [int]

Bit di misurazione post-sequenza per ogni ripresa: 0 se l'atomo è nello stato di Rydberg o il sito è vuoto, 1 se l'atomo è allo stato fondamentale, misurati alla fine delle sequenze di impulsi che eseguono l'evoluzione quantistica

Campi di metadati
Campo dei risultati dell'attività tipo description

braketSchemaHeader.nome

str

nome dello schema; deve essere 'braket.task_result.analog_hamiltonian_simulation_task_result'

braketSchemaHeader.versione

str

versione dello schema

taskMetadata. braketSchemaHeader.nome

str

nome dello schema; deve essere 'braket.task_result.task_metadata'

taskMetadata. braketSchemaHeader.versione

str

versione dello schema

taskMetadata.id

str

L'ID del compito quantistico. In AWS compiti quantistici, questo è il compito quantistico. ARN

taskMetadata.scatti

int

Il numero di scatti per l'operazione quantistica

taskMetadata.colpi. deviceId

str

L'ID del dispositivo su cui è stata eseguita l'operazione quantistica. In AWS dispositivi, questo è il dispositivoARN.

taskMetadata.scatti. createdAt

str

Il timestamp della creazione; il formato deve essere in ISO -8601/ RFC3339 string format -MM-:MM:ss.sssz. YYYY DDTHH L'impostazione predefinita è Nessuno.

taskMetadata.shots. endedAt

str

Il timestamp di quando è terminata l'attività quantistica; il formato deve essere in ISO RFC3339 -8601/ string format -MM-:MM:ss.sssz. YYYY DDTHH L'impostazione predefinita è Nessuno.

taskMetadata.shots.status

str

Lo stato dell'attività quantistica (CREATED,,,,QUEUED). RUNNING COMPLETED FAILED L'impostazione predefinita è Nessuno.

taskMetadata.shots. failureReason

str

Il motivo del fallimento del compito quantistico. L'impostazione predefinita è Nessuno.

additionalMetadata.azione

Braket.ir.ahs.program_v1.program

(Vedi la sezione sullo schema del programma Braket) AHS

additionalMetadata.azione. braketSchemaHeader. queraMetadata.nome

str

nome dello schema; deve essere 'braket.task_result.quera_metadata'

additionalMetadata.azione. braketSchemaHeader. queraMetadata.versione

str

versione dello schema

additionalMetadata.azione. numSuccessfulShots

int

numero di tiri completamente riusciti; deve essere uguale al numero di tiri richiesto

misurazioni []. shotMetadata. shotStatus

int

Lo stato dello scatto, (Riuscito, Riuscito parzialmente, Fallimento); deve essere «Riuscito»

QuEra schema delle proprietà del dispositivo

braket.device_schema.quera.quera_device_capabilities_v1. QueraDeviceCapabilities(esempio)

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(esempio)

{ "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 ... } }
Campi delle proprietà del servizio
Campo delle proprietà del servizio tipo description

servizio. executionWindows[]. executionDay

ExecutionDay

Giorni della finestra di esecuzione; deve essere «Tutti i giorni», «Giorni feriali», «Fine settimana», «lunedì», «martedì», «mercoledì», «giovedì», «venerdì», «sabato» o «domenica»

servizio. executionWindows[]. windowStartHour

datetime.ora

UTCFormato a 24 ore dell'ora di inizio della finestra di esecuzione

servizio. executionWindows[]. windowEndHour

datetime.ora

UTCFormato a 24 ore dell'ora in cui termina la finestra di esecuzione

service.qpu_capabilities.service. shotsRange

Tupla [int, int]

Numero minimo e massimo di scatti per il dispositivo

service.qpu_capabilities.service. deviceCost.prezzo

float

Prezzo del dispositivo in dollari USA

service.qpu_capabilities.service. deviceCost.unità

str

unità per addebitare il prezzo, ad esempio: 'minute', 'hour', 'shot', 'task'

Campi di metadati
Campo di metadati tipo description

action [] .version

str

versione dello schema del AHS programma

azione []. actionType

ActionType

AHSnome dello schema del programma; deve essere 'braket.ir.ahs.program'

servizio. braketSchemaHeader.nome

str

nome dello schema; deve essere 'braket.device_schema.device_service_properties'

servizio. braketSchemaHeader.versione

str

versione dello schema

servizio. deviceDocumentation. imageUrl

str

URLper l'immagine del dispositivo

servizio. deviceDocumentation.sommario

str

breve descrizione sul dispositivo

servizio. deviceDocumentation. externalDocumentationUrl

str

documentazione esterna URL

servizio. deviceLocation

str

posizione geografica del dispositivo

servizio. updatedAt

datetime

ora dell'ultimo aggiornamento delle proprietà del dispositivo