Envie um programa analógico usando o Aquila QuEra - Amazon Braket

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Envie um programa analógico usando o Aquila QuEra

Esta página fornece uma documentação abrangente sobre os recursos do Aquila máquina de QuEra. Os detalhes abordados aqui são os seguintes: 1) O hamiltoniano parametrizado simulado por Aquila, 2) parâmetros AHS do programa, 3) conteúdo do AHS resultado, 4) Aquila parâmetro de capacidades. Sugerimos usar a pesquisa de texto Ctrl+F para encontrar parâmetros relevantes para suas perguntas.

hamiltoniano

A ferramenta Aquila máquina de QuEra simula nativamente o seguinte hamiltoniano (dependente do tempo):

Equação matemática com somatórios representando o hamiltoniano de um sistema, envolvendo termos de acionamento, desajuste local e acoplamento entre pontos.
nota

O acesso ao desajuste local é um recurso experimental e está disponível mediante solicitação por meio do Braket Direct.

where

  • 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) é a amplitude de condução global dependente do tempo (também conhecida como frequência Rabi), em unidades de (rad/s)

    • θ (t) é a fase global dependente do tempo, medida em radianos

    • S −,k​ e S +,k são os operadores de diminuição e elevação do spin do átomo k (na base |↓⟩=|g⟩, |↑ ․ =|r⟩, eles são S =|g․ ⟨r|, S =( S) † =|r․ ⟨g|) +

    • Δ global (t) é o desajuste global dependente do tempo

    • n k é o operador de projeção no estado de Rydberg do átomo k (ou seja, n=|r⟨r|)

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

    • Δ local (t) é o fator dependente do tempo da mudança de frequência local, em unidades de (rad/ s)

    • h k é o fator dependente do local, um número adimensional entre 0,0 e 1,0

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

    • C 6 é o coeficiente de van der Waals, em unidades de (rad/s) * (m) ^6

    • d k,l é a distância euclidiana entre os átomos k e l, medida em metros.

Os usuários têm controle sobre os seguintes parâmetros por meio do esquema do AHS programa Braket.

  • Arranjo de átomos 2-d (kcoordenadas x k e y de cada átomo k, em unidades de um), que controla as distâncias atômicas pares d k,l​ com k, l=1,2,... N

  • Ω (t), a frequência Rabi global dependente do tempo, em unidades de (rad/ s)

  • θ (t), a fase global dependente do tempo, em unidades de (rad)

  • Δ global (t), o desajuste global dependente do tempo, em unidades de (rad/ s)

  • Δ local (t), o fator (global) dependente do tempo da magnitude do desajuste local, em unidades de (rad/ s)

  • hk, o fator (estático) dependente do local da magnitude do desajuste local, um número adimensional entre 0,0 e 1,0

nota

O usuário não pode controlar quais níveis estão envolvidos (ou seja, os operadores S, S+​, n são fixos) nem a força do coeficiente de interação de Rydberg-Rydberg (C). 6

Esquema do programa Braket AHS

objeto braket.ir.ahs.Program_v1.Program (exemplo)

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

{ "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] } } ] } }
Campos principais
Campo do programa tipo description

setup.ahs_register.sites

Lista [Lista [Decimal]]

Lista de coordenadas 2-d em que as pinças capturam átomos

setup.ahs_register.filling

Lista [int]

Marca os átomos que ocupam os locais da armadilha com 1 e os locais vazios com 0

hamiltoniano. drivingFields[] .amplitude.time_series.times

Lista [Decimal]

pontos de tempo da amplitude de condução, Omega (t)

hamiltoniano. drivingFields[] .amplitude.time_series.values

Lista [Decimal]

valores de amplitude de condução, Omega (t)

hamiltoniano. drivingFields[] .amplitude.padrão

str

padrão espacial de amplitude de condução, Omega (t); deve ser “uniforme”

hamiltoniano. drivingFields[] .phase.time_series.times

Lista [Decimal]

pontos temporais da fase de condução, phi (t)

hamiltoniano. drivingFields[] .phase.time_series.values

Lista [Decimal]

valores da fase de condução, phi (t)

hamiltoniano. drivingFields[] .phase.pattern

str

padrão espacial da fase de condução, phi (t); deve ser “uniforme”

hamiltoniano. drivingFields[] .detuning.time_series.times

Lista [Decimal]

pontos de tempo do desajuste de direção, delta_global (t)

hamiltoniano. drivingFields[] .detuning.time_series.values

Lista [Decimal]

valores do desajuste de direção, delta_global (t)

hamiltoniano. drivingFields[] .detuning.pattern

str

padrão espacial de desajuste de direção, delta_global (t); deve ser 'uniforme'

hamiltoniano. localDetuning[] .magnitude.time_series.times

Lista [Decimal]

pontos temporais do fator dependente do tempo da magnitude de desajuste local, delta_local (t)

hamiltoniano. localDetuning[] .magnitude.time_series.values

Lista [Decimal]

valores do fator dependente do tempo da magnitude de desajuste local, delta_local (t)

hamiltoniano. localDetuning[] .magnitude.padrão

Lista [Decimal]

fator dependente do site da magnitude de desajuste local, h_k (os valores correspondem aos sites em setup.ahs_register.sites)

Campos de metadados
Campo do programa tipo description

braketSchemaHeader.name

str

nome do esquema; deve ser 'braket.ir.ahs.program'

braketSchemaHeader.versão

str

versão do esquema

Esquema de resultados de AHS tarefas do Braket

braket.tasks.analog_hamiltonian_simulation_quantum_task_result. AnalogHamiltonianSimulationQuantumTaskResult(exemplo)

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

{ "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 principais
Campo de resultado da tarefa tipo description

medições []. shotResult. preSequence

Lista [int]

Bits de medição de pré-sequência (um para cada local atômico) para cada disparo: 0 se o local estiver vazio, 1 se o local estiver cheio, medidos antes das sequências de pulsos que executam a evolução quântica

medições []. shotResult. postSequence

Lista [int]

Bits de medição pós-sequência para cada disparo: 0 se o átomo estiver no estado de Rydberg ou o local estiver vazio, 1 se o átomo estiver no estado fundamental, medidos no final das sequências de pulsos que executam a evolução quântica

Campos de metadados
Campo de resultado da tarefa tipo description

braketSchemaHeader.name

str

nome do esquema; deve ser 'braket.task_result.analog_hamiltonian_simulation_task_result'

braketSchemaHeader.versão

str

versão do esquema

taskMetadata. braketSchemaHeader.nome

str

nome do esquema; deve ser 'braket.task_result.task_metadata'

taskMetadata. braketSchemaHeader.versão

str

versão do esquema

taskMetadata.id

str

A identificação da tarefa quântica. Para tarefas AWS quânticas, essa é a tarefa quânticaARN.

taskMetadata.tiros

int

O número de disparos para a tarefa quântica

taskMetadata.tiros. deviceId

str

O ID do dispositivo no qual a tarefa quântica foi executada. Para AWS dispositivos, esse é o dispositivoARN.

taskMetadata.tiros. createdAt

str

O timestamp da criação; o formato deve estar em ISO RFC3339 -8601/ string format:mm:ss.sssz. YYYY-MM-DDTHH O padrão é Nenhum.

taskMetadata.tiros. endedAt

str

A data e hora de quando a tarefa quântica terminou; o formato deve estar em ISO RFC3339 -8601/ string format:MM:SS.SSSZ. YYYY-MM-DDTHH O padrão é Nenhum.

taskMetadata.shots.status

str

O status da tarefa quântica (CREATED,QUEUED,RUNNING,COMPLETED,FAILED). O padrão é Nenhum.

taskMetadata.tiros. failureReason

str

O motivo da falha da tarefa quântica. O padrão é Nenhum.

additionalMetadata.ação

braket.ir.ahs.program_v1.Programa

(Consulte a seção Esquema do AHS programa Braket)

additionalMetadata.ação. braketSchemaHeader. queraMetadata.nome

str

nome do esquema; deve ser 'braket.task_result.quera_metadata'

additionalMetadata.ação. braketSchemaHeader. queraMetadata.versão

str

versão do esquema

additionalMetadata.ação. numSuccessfulShots

int

número de disparos completamente bem-sucedidos; deve ser igual ao número solicitado de disparos

medições []. shotMetadata. shotStatus

int

O status da foto (sucesso, sucesso parcial, falha); deve ser “Sucesso”

QuEra esquema de propriedades do dispositivo

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

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

{ "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 propriedades do serviço
Campo de propriedades do serviço tipo description

serviço. executionWindows[]. executionDay

ExecutionDay

Dias da janela de execução; devem ser 'Todos os dias', 'Dias úteis', 'Fim de semana', 'Segunda-feira', 'Terça', 'Quarta', Quinta-feira ',' Sexta ',' Sábado 'ou' Domingo '

serviço. executionWindows[]. windowStartHour

datetime.time

UTCFormato de 24 horas da hora em que a janela de execução começa

serviço. executionWindows[]. windowEndHour

datetime.time

UTCFormato de 24 horas da hora em que a janela de execução termina

service.qpu_capabilities.service. shotsRange

Tupla [int, int]

Número mínimo e máximo de fotos para o dispositivo

service.qpu_capabilities.service. deviceCost.preço

float

Preço do aparelho em dólares americanos

service.qpu_capabilities.service. deviceCost.unidade

str

unidade para cobrar o preço, por exemplo: 'minuto', 'hora', 'tiro', 'tarefa'

Campos de metadados
Campo de metadados tipo description

ação [] .versão

str

versão do esquema AHS do programa

ação []. actionType

ActionType

AHSnome do esquema do programa; deve ser 'braket.ir.ahs.program'

serviço. braketSchemaHeader.nome

str

nome do esquema; deve ser 'braket.device_schema.device_service_properties'

serviço. braketSchemaHeader.versão

str

versão do esquema

serviço. deviceDocumentation. imageUrl

str

URLpara a imagem do dispositivo

serviço. deviceDocumentation.resumo

str

breve descrição no dispositivo

serviço. deviceDocumentation. externalDocumentationUrl

str

documentação externa URL

serviço. deviceLocation

str

localização geográfica do dispositivo

serviço. updatedAt

datetime

hora em que as propriedades do dispositivo foram atualizadas pela última vez