QuEra의 Aquila를 사용하여 아날로그 프로그램 제출 - Amazon Braket

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

QuEra의 Aquila를 사용하여 아날로그 프로그램 제출

이 페이지에서는 의 기능에 대한 포괄적인 설명서를 제공합니다.Aquila 의 시스템 QuEra. 여기에서 다루는 세부 정보는 다음과 같습니다. 1) 에서 시뮬레이션한 파라미터화된 Hamiltonian Aquila, 2) AHS 프로그램 파라미터, 3) AHS 결과 콘텐츠, 4) Aquila 기능 파라미터. Ctrl+F 텍스트 검색을 사용하여 질문과 관련된 파라미터를 찾는 것이 좋습니다.

해밀턴

는 Aquila 의 시스템 QuEra 는 기본적으로 다음(시간 종속) Hamiltonian을 시뮬레이션합니다.

드라이브, 로컬 디튜닝 및 도트 연결 용어를 포함하는 시스템의 Hamiltonian을 나타내는 요약이 포함된 수학 방정식입니다.
참고

로컬 디튜닝에 대한 액세스는 실험 기능이며 Braket Direct 를 통해 요청하여 사용할 수 있습니다.

여기서 각 항목은 다음과 같습니다.

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

    • Ω(t)는 시간에 따라 달라지는 글로벌 주행 진폭(라비 주파수)으로, 단위는 (rad/s)입니다.

    • “(t)는 라디안 단위로 측정된 시간 의존적 글로벌 단계입니다.

    • S−,k​와 S+,k는 원자 k의 스핀 하강 및 상승 연산자입니다(기본적으로 |↓⟩=|g', |↑'=|r', S =|g'''r|, S +=(S )=|r'''g|)입니다.

    • Δglobal(t)는 시간 의존적인 글로벌 디튜닝입니다.

    • nk은 원자 k의 Rydberg 상태에 있는 프로젝션 연산자입니다(예: n=|r''''r|).

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

    • Δlocal(t)는 (rad / s) 단위로 나타낸 로컬 주파수 이동의 시간 의존적 요인입니다.

    • hk는 0.0에서 1.0 사이의 차원 없는 숫자인 사이트 종속 인자입니다.

  • V vdw,k,l=C 6​/(d k,l)6n kn l,

    • C6는 van der Waals 계수로, (rad / s) * (m)^6 단위입니다.

    • dk,l는 원자 k와 l 사이의 유클리드 거리로, 미터 단위로 측정됩니다.

사용자는 Braket AHS 프로그램 스키마를 통해 다음 파라미터를 제어할 수 있습니다.

  • 2-d 원자 배열(각 원자 k의 x k및 y k좌표, um 단위) - k,l=1,2,...N으로 페어와이즈 원자 거리 dk,l​를 제어합니다.

  • Ω(t), 시간 의존적, 글로벌 Rabi 주파수, 단위(rad/s)

  • “(t), 시간 의존적 글로벌 단계, (rad) 단위

  • Δglobal(t), 시간 종속, 전역 디튜닝, 단위(rad/s)

  • Δlocal(t), 로컬 디튜닝 크기의 시간 종속(글로벌) 인수, 단위(rad/s)

  • h k, 로컬 디튜닝 크기의 (정적) 사이트 종속 인자, 0.0~1.0 사이의 차원 없는 숫자

참고

사용자는 관련된 수준(예: S ,S +​, n 연산자가 고정됨)이나 Rydberg-Rydberg 상호 작용 계수(C )의 강도를 제어할 수 없습니다6.

Braket AHS 프로그램 스키마

braket.ir.ahs.program_v1.Program 객체(예)

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

{ "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] } } ] } }
기본 필드
프로그램 필드 type 설명

setup.ahs_register.sites

List[List[Decimal]]

핀셋이 원자를 트랩하는 2-d 좌표 목록

setup.ahs_register.filling

List[int]

트랩 사이트를 차지하는 원자를 1로 표시하고 빈 사이트를 0으로 표시합니다.

hamiltonian.drivingFields[].amplitude.time_series.times

List[10진수]

주행 진폭 시점, Omega(t)

hamiltonian.drivingFields[].amplitude.time_series.values

List[10진수]

주행 진폭 값, Omega(t)

hamiltonian.drivingFields[].amplitude.pattern

str

주행 진폭의 공간 패턴, Omega(t); '균일'해야 함

hamiltonian.drivingFields[].phase.time_series.times

List[10진수]

주행 단계의 시점, phi(t)

hamiltonian.drivingFields[].phase.time_series.values

List[10진수]

주행 단계의 값, phi(t)

hamiltonian.drivingFields[].phase.pattern

str

주행 단계의 공간 패턴, phi(t); '균일'해야 함

hamiltonian.drivingFields[].detuning.time_series.times

List[10진수]

주행 디튜닝 시점, Delta_global(t)

hamiltonian.drivingFields[].detuning.time_series.values

List[10진수]

주행 디튜닝 값, Delta_global(t)

hamiltonian.drivingFields[].detuning.pattern

str

주행 디튜닝의 공간 패턴, Delta_global(t); '균일'해야 함

hamiltonian.localDetuning[].magnitude.time_series.times

List[10진수]

로컬 디튜닝 크기의 시간 종속 인자 시점, Delta_local(t)

hamiltonian.localDetuning[].magnitude.time_series.values

List[10진수]

Delta_local(t)의 로컬 디튜닝 크기 시간 종속 계수 값

hamiltonian.localDetuning[].magnitude.pattern

List[10진수]

로컬 디튜닝 크기의 사이트 종속 요소, h_k(값은 setup.ahs_register.sites의 사이트에 해당)

메타데이터 필드
프로그램 필드 type 설명

braketSchemaHeader.name

str

스키마의 이름입니다. 'braket.ir.ahs.program'이어야 합니다.

braketSchemaHeader.version

str

스키마 버전

Braket AHS 작업 결과 스키마

braket.tasks.analog_hamiltonian_simulation_quantum_task_result .AnalogHamiltonianSimulationQuantumTaskResult (예)

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

{ "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 } } }
기본 필드
작업 결과 필드 type 설명

측정[].shotResult.preSequence

List[int]

각 주입에 대한 시퀀스 전 측정 비트(각 원자 사이트에 대해 하나): 사이트가 비어 있는 경우 0, 사이트가 채워진 경우 1, 양자 진화를 실행하는 펄스 시퀀스 전에 측정

측정[].shotResult.postSequence

List[int]

각 샷의 시퀀스 후 측정 비트: 원자가 Rydberg 상태이거나 사이트가 비어 있는 경우 0, 원자가 지상 상태인 경우 1, 양자 진화를 실행하는 펄스 시퀀스의 끝에 측정

메타데이터 필드
작업 결과 필드 type 설명

braketSchemaHeader.name

str

스키마의 이름입니다. 'braket.task_result.analog_hamiltonian_simulation_task_result'여야 합니다.

braketSchemaHeader.version

str

스키마 버전

taskMetadata.braketSchemaHeader.이름

str

스키마의 이름입니다. ‘braket.task_result.task_metadata’여야 합니다.

taskMetadata.braketSchemaHeader.버전

str

스키마 버전

taskMetadata.id

str

양자 작업의 ID입니다. AWS 양자 태스크의 경우 이 양자 태스크 입니다ARN.

taskMetadata.shots

int

양자 작업에 대한 샷 수

taskMetadata.shots.deviceId

str

양자 태스크가 실행된 디바이스의 ID입니다. AWS 디바이스의 경우 디바이스 입니다ARN.

taskMetadata.shots.createdAt

str

생성 타임스탬프입니다. 형식은 ISO-8601/RFC3339 문자열 형식 YYYY-MM-DDTHH:mm:ss.sssZ 합니다. 기본값은 없음입니다.

taskMetadata.shots.endedAt

str

양자 작업이 종료된 시점의 타임스탬프입니다. 형식은 ISO-8601/RFC3339 문자열 형식 YYYY-MM-DDTHH:mm:ss.sssZ 합니다. 기본값은 없음입니다.

taskMetadata.shots.status

str

양자 작업의 상태(CREATED, QUEUED, RUNNING, COMPLETED, FAILED). 기본값은 없음입니다.

taskMetadata.shots.failureReason

str

양자 작업의 실패 이유입니다. 기본값은 없음입니다.

additionalMetadata.action

braket.ir.ahs.program_v1.Program

( Braket AHS 프로그램 스키마 섹션 참조)

additionalMetadata.action.braketSchemaHeader.queraMetadata.name

str

스키마의 이름입니다. 'braket.task_result.quera_metadata'여야 합니다.

additionalMetadata.action.braketSchemaHeader.queraMetadata.version

str

스키마 버전

additionalMetadata.action.numSuccessfulShots

int

완전히 성공한 샷 수. 요청된 샷 수와 같아야 합니다.

측정[].shotMetadata.shotStatus

int

샷 상태(성공, 부분 성공, 실패)는 '성공'이어야 합니다.

QuEra 디바이스 속성 스키마

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

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

{ "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 ... } }
서비스 속성 필드
서비스 속성 필드 type 설명

service.executionWindows[].executionDay

ExecutionDay

실행 기간의 일 수. '매일', '평일', '주말', '월요일', '화요일', '수요일', 목요일', '금요일', '토요일' 또는 '일요일'이어야 합니다.

service.executionWindows[].windowStartHour

datetime.time

UTC 실행 기간이 시작되는 시간의 24시간 형식

service.executionWindows[].windowEndHour

datetime.time

UTC 실행 기간이 종료되는 24시간 형식

service.qpu_capabilities.service.shotsRange

Tuple[int, int]

디바이스의 최소 및 최대 샷 수

service.qpu_capabilities.service.deviceCost.price

float

미국 달러 기준 디바이스 가격

service.qpu_capabilities.service.deviceCost.unit

str

요금 부과 단위, 예: '분', '시간', '샷', '작업'

메타데이터 필드
메타데이터 필드 type 설명

작업[].version

str

AHS 프로그램 스키마 버전

작업[].actionType

ActionType

AHS 프로그램 스키마 이름. 'braket.ir.ahs.program'이어야 합니다.

service.braketSchemaHeader.name

str

스키마의 이름입니다. 'braket.device_schema.device_service_properties'여야 합니다.

service.braketSchemaHeader.version

str

스키마 버전

서비스.deviceDocumentation.imageUrl

str

URL 디바이스 이미지

service.deviceDocumentation.summary

str

디바이스에 대한 간략한 설명

서비스.deviceDocumentation.externalDocumentationUrl

str

외부 설명서 URL

서비스.deviceLocation

str

디바이스의 지리적 위치

서비스.updatedAt

datetime

디바이스 속성이 마지막으로 업데이트된 시간