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.
Nesta seção:
hamiltoniano
A ferramenta Aquila máquina de QuEra simula nativamente o seguinte hamiltoniano (dependente do tempo):
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] } } ] } }
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) |
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 } } }
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 |
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 ... } }
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' |
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 |