Skip to main content
IBM Quantum Platform

Q-CTRL 동역학 시뮬레이터 API 참조

  • Qiskit Functions — 파트너 기관에서 개발한 사전 구축형 도구 — 는 소프트웨어 개발 워크플로의 일부를 추상화하여, 유틸리티급 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.

Caution

Dynamics Simulator는 회로 대신 물리 모델 설명을 입력으로 받아들입니다. Fire Opal은 대상 백엔드에 맞게 회로를 구축하고 최적화하므로, 어떤 것도 트랜스파일하거나 사전 컴파일하지 마십시오.


입력

이 API가 허용하는 모든 입력 매개변수는 다음 목록을 참조하십시오. 모든 입력은 키워드 인자로 전달됩니다. model, simulation, 및 는 각각 Python 사전(의 경우 사전의 리스트 observables) 또는 JSON 문자열로 지정할 수 observables 있습니다. 이 함수는 알 수 없는 최상위 인수를 거부합니다.

model

유형: dict[str, Any] or str

사전 또는 JSON 문자열 형식으로 주어진 페르미-허바드 모델. 이 필드에 포함된 필드에 대해서는 ‘모델 필드’를 참조하십시오.

  • 필수: Yes
  • 예:{"hopping_amplitude": 1.0, "on_site_interaction": [2.0, 2.5, 2.0], "chemical_potential": 0.5}

모델 필드

hopping_amplitude

유형: float or list[float]

터널링 진폭. 스칼라 값은 모든 본드에 브로드캐스트됩니다. 목록에는 len(initial_state) - 1 항목이 포함되어야 합니다(채권당 하나씩).

on_site_interaction

유형: float or list[float]

현장 상호작용의 강도. 스칼라 값은 모든 사이트에 브로드캐스트됩니다. 목록에는 len(initial_state) 항목이 포함되어야 합니다(사이트당 하나씩).

chemical_potential

유형: float or list[float]

화학 포텐셜. 스칼라 값은 모든 사이트에 브로드캐스트됩니다. 목록에는 len(initial_state) 항목이 포함되어야 합니다(사이트당 하나씩).

simulation

유형: dict[str, Any] or str

사전 또는 JSON 문자열 형식으로 제공되는 Trotter 시뮬레이션 방식. 이 필드에 포함된 항목에 대해서는 ‘시뮬레이션 필드’를 참조하십시오.

  • 필수: Yes
  • 예:{"method": "trotter", "step_count": 5, "time_step": 0.1}

시뮬레이션 분야

method

유형: str

시뮬레이션 방법. "trotter" 이것이 지원되는 방법입니다.

  • 선택사항: trotter

step_count

유형: int

트로터 단계 수.

time_step

유형: float

각 트로터 단계의 지속 시간.

observables

유형: list[dict[str, Any]] or str

측정할 스파스 점유 연산자들로, 관측 변수당 하나의 사전이 있으며, 사전 목록이나 JSON 문자열 형태로 제공됩니다. 관측 가능한 항목이 적어도 하나 포함되어야 합니다. 각 사전이 포함하는 필드에 대해서는 ‘관측 가능한 필드’를 참조하십시오.

  • 필수: Yes
  • 예:[{"operators": [[["Nup", 0]]], "coefficients": [1.0]}]

관측 가능한 필드

operators

유형: list[list[list[str, int]]]

관측 가능한 양의 정의. 각 항은 [operator_name, site_index] 쌍의 곱으로 주어지며, 여기서 는 "Nup" 이거나 이다 operator_name``"Ndn" .

coefficients

유형: list[float]

.의 각 항마다 하나의 계수가 있습니다 operators.

initial_state

유형: str

격자 점마다 하나의 문자가 있는 초기 포크 상태. 비어 있지 않아야 합니다. 격자 점의 수는 이며 len(initial_state), 시뮬레이션에는 2 * len(initial_state) 큐비트가 사용됩니다. 백엔드에는 적어도 그 정도의 큐비트가 있어야 합니다.

  • 필수: Yes
  • 허용되는 문자:
    • "e": (비어 있음) 미개발 부지
    • "u": (up) 단독 점유, 스핀 업
    • "d": (하향) 단독 점유, 스핀 다운
    • "b": (둘 다) 이중 점유됨
  • 예:"udb"

shots

유형: int

각 회로 실행에 사용할 샷 수. 이 인수는 양의 정수여야 합니다.

  • 필수: Yes
  • 예:1000

backend_name

유형: str

기본값: Automatic selection

사용할 백엔드의 이름. 이름을 지정하지 않으면, 이 함수는 충분한 큐비트를 가진 백엔드를 자동으로 선택합니다.

  • 필수: 아니오
  • 예:"ibm_phoenix"

옵션

유형: dict

기본값: {}

options.로 전달되는 추가 실행 옵션, 옵션은 중첩된 사전 형태로 지정됩니다. 자세한 내용과 기본값은 옵션 목록 을 참조하십시오.

  • 필수: 아니오
  • 예:{"job_tags": ["my_tag"]}

옵션 목록

session_id

유형: str

기본값: ""

기존 IBM Quantum Compute Service 세션 ID.

  • 예:"cw4r3je6f0t010870y3g"
job_tags

유형: list[str]

기본값: []

직무 태그 목록.

  • 예:["job_tag1", "job_tag2"]

출력

이 API의 출력 결과는 시뮬레이션 결과와 메타데이터가 dict 포함된 입니다. 이 결과에는 트로터화(Trotterized)된 시간 진화의 각 시간 단계에서 요청된 관측량의 기대값이 포함되어 있습니다.

유형: dict[str, Any]

‘출력 구조’ 항목에 나열된 시뮬레이션 결과 및 메타데이터.

  • 예:{"observable_expectation_values": [[1.0, 0.96, 0.91],[0.0, 0.04, 0.08]], "observables": [{"operators": [[["Nup", 0]]],"coefficients": [1.0]}], "warnings": [], "metadata": {}}

출력 구조

observable_expectation_values

유형: list[list[float]]

기대값은 입력 관측 변수마다 하나의 목록으로, 와 동일한 순서로 제공됩니다 observables. 각 목록에는 초기 상태를 포함하여 값들이 step_count + 1 들어 있습니다.

observables

유형: list[dict[str, Any]]

측정된 관측량은 입력에서 반사되어 돌아왔다.

warnings

유형: list[str]

시뮬레이션을 컴파일하거나 실행하는 과정에서 발생한 경고.

metadata

resource_usage

유형: dict

실행의 각 단계별 CPU 및 QPU 소요 시간(초 단위)의 내역. 각 단계에는 CPU_TIME 와 가 있습니다 QPU_TIME.

RUNNING: MAPPING

유형: dict

문제를 해당 장치에 매핑합니다.

RUNNING: OPTIMIZING_HARDWARE

유형: dict

하드웨어에 맞게 회로를 최적화합니다.

RUNNING: WAITING_QPU

유형: dict

QPU 대기열에서 대기한 시간(CPU 시간).

RUNNING: EXECUTING_QPU

유형: dict

QPU에서 실행하는 시간(QPU 시간).

RUNNING: POST_PROCESSING

유형: dict

결과 후처리.

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.