Skip to main content
IBM Quantum Platform

Algorithmiq 텐서 네트워크 오류 완화 API 참조

  • Qiskit Functions

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


입력

Caution

현재 TEM에는 다음과 같은 제한 사항이 있습니다:

  • 매개변수화된 회로는 지원되지 않습니다. 정밀도가 지정된 경우 None parameters 인수는 로 설정해야 합니다. 이 제한 사항은 향후 버전에서 해제될 예정입니다.
  • 루프가 없는 회로만 지원됩니다. 이 제한 사항은 향후 버전에서 해제될 예정입니다.
  • 리셋, 측정 및 모든 형태의 제어 흐름과 같은 비단일 게이트는 지원되지 않습니다. 리셋 기능은 향후 업데이트에서 추가될 예정입니다.

매개변수

pubs

유형: Iterable[EstimatorPubLike]

PUB 와 유사한(기본 통합 블록) 객체(예: 튜플 (circuit, observables) 또는 (circuit, observables, parameters, precision))의 반복 가능 객체. 자세한 내용은 PUB 개요를 참조하십시오. ISA가 아닌 회로가 통과되면, 최적의 설정으로 트랜스파일링됩니다. ISA 회로가 통과되면 트랜스파일링되지 않으며, 이 경우 관측 가능 변수는 전체 QPU에서 정의되어야 합니다.

  • 필수: Yes
  • 예:(circuit, observables)

backend_name

유형: str

기본값: Least busy backend

쿼리를 실행할 백엔드 이름

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

옵션

유형: dict

이 함수의 입력 옵션은 중첩된 사전 형태로 지정됩니다. 옵션의 전체 목록과 기본값을 확인하세요.

  • 필수: 아니오
  • 예:{"max_bond_dimension": 100}

TEM의 고급 설정이 포함된 설명서. 사전에는 다음 목록에 있는 키들이 포함될 수 있습니다. 해당 옵션 중 하나라도 지정되지 않은 경우, 목록에 나열된 기본값이 사용됩니다. 기본값은 TEM의 일반적인 사용에 적합합니다.

옵션 목록

tem_max_bond_dimension

유형: int

기본값: 500

텐서 네트워크에 사용될 본드 크기의 최대값.

tem_compression_cutoff

유형: float

기본값: 1e-16

텐서 네트워크에 사용할 임계값.

compute_shadows_bias_from_observable

유형: bool

기본값: False

고전적 그림자 측정 프로토콜의 편향을 ‘ PUB ’ 관측량에 맞춰 조정해야 하는지 여부를 나타내는 부울 플래그입니다. False인 경우, 고전적 섀도우 프로토콜(Z, X, Y를 관측할 확률이 동일함)이 사용됩니다.

shadows_bias

유형: np.ndarray

기본값: np.array([1 / 3, 1 / 3, 1 / 3])

무작위 고전적 섀도우 측정 프로토콜에 사용될 바이어스로, 크기가 3인 정사각형 배열( 1d ) 또는 모양이 (num_qubits, 3)인 배열( 2d )입니다. 순서는 ZXY입니다.

max_execution_time

유형: int or None

기본값: None

QPU에서 허용되는 최대 실행 시간(초). 실행 시간이 이 값을 초과하면 작업이 취소됩니다. 이 경우 None, IBM Quantum Compute Service에서 설정한 기본 제한이 적용됩니다.

num_randomizations

유형: int

기본값: 32

노이즈 학습 및 게이트 트위링에 사용될 무작위화 횟수.

max_layers_to_learn

유형: int

기본값: True

학습할 고유 레이어의 최대 개수.

mitigate_readout_error

유형: bool

기본값: True

읽기 오류 완화 처리를 수행할지 여부를 나타내는 부울 플래그입니다.

num_readout_calibration_shots

유형: int

기본값: 10000

판독 오차 완화를 위해 사용할 샷 수.

default_precision

유형: float

기본값: 0.02

정밀도가 명시되지 않은 PUB에 대해 사용되는 기본 정밀도입니다.

seed

유형: int or None

기본값: None

재현성을 위해 난수 생성기의 시드 값을 설정합니다. 만약 None그렇다면, 시드 값을 설정하지 마십시오.

shots_per_randomization

유형: int

기본값: 128

무작위 학습 회로당 사용할 총 샷 수.

layer_pair_depths

유형: list[int]

기본값: [0, 1, 2, 4, 16, 32]

학습 실험에 사용할 회로 깊이(쌍 수로 측정).

layer_noise_model

유형: NoiseLearnerResult, Sequence[LayerError], or None

기본값: None

이전에 실행된 실행에서 산출된 사전 계산된 노이즈 학습 결과입니다.

private

유형: bool

기본값: False

QPU 작업들을 비공개로 설정해야 하는지 여부. 이 값을 True로 설정하면 이후 실험 데이터 다운로드가 차단되므로, 기밀이 필요한 작업의 경우 이 설정을 권장합니다.

tem_enforce_linear_circuit

유형: bool

기본값: False

회로를 선형 토폴로지로 구성할지 여부.

정밀도

결과에 대한 정확도는 세 가지 방법으로 요청할 수 있습니다. 정밀도는 PUB에 전달할 수 있으며, 이는 해당 PUB에만 적용됩니다. 그렇지 않은 경우, 위에서 명시한 대로 옵션을 통해 a를 전달할 default_precision 수 있습니다. 마지막으로, 고급 사용자를 위해 옵션에 PUB당 구체적인 샷 수를 default_shots``로 전달할 수 있으며, 이 경우 다른 모든 정밀도 옵션보다 우선 적용됩니다.

or default_precision 또는 per- PUB 값이 전달되면, 원하는 정밀도를 달성하기 위해 촬영 횟수가 추정됩니다. 이는 다음과 같이 선택된 QPU 매개변수와 오차율을 바탕으로 수행됩니다:

  • 2-큐비트 게이트의 각 층에서 발생하는 노이즈를 정량화하는 지표인 층별 게이트 오차(EPLG)를 계산한다. 백엔드 속성이 제공되는 경우 해당 정확도를 추출하고, 그렇지 않은 경우 기본값을 사용합니다.
  • 회로 내의 2-큐비트 게이트 수를 세어봅니다. 이는 일반적으로 노이즈의 주요 원인이 되기 때문입니다.
  • 2-큐비트 게이트의 수와 EPLG를 기반으로 노이즈 계수를 계산한다.
  • 요청된 정밀도를 사용하여, 노이즈 계수와 정밀도의 제곱의 역수를 곱해 필요한 촬영 횟수를 추정합니다.

이러한 접근 방식은 회로 구조와 백엔드의 노이즈 특성을 모두 고려하여, 원하는 정밀도를 달성하기에 충분한 샷 수를 확보합니다.


출력

TEM 효과가 완화된 결과를 포함하는 PrimitiveResults Qiskit. 각 PUB 에 대한 결과는 다음 필드를 포함하는 PubResult 객체로 반환됩니다:

데이터

유형: Databin

TEM 보정이 적용된 관측량과 그 표준 오차를 포함하는 DataBin Qiskit 객체. DataBin 에는 다음과 같은 필드가 있습니다:

  • evs: TEM 보정이 적용된 관측값.
  • stds: TEM 효과가 제거된 관측량의 표준 오차.

메타데이터

유형: dict

추가 결과가 포함된 사전. 이 사전에는 다음 키들이 포함되어 있습니다:

  • "evs_non_mitigated": 오차 완화 처리를 적용하지 않은 관측값.
  • "stds_non_mitigated": 오차 완화 처리를 적용하지 않은 결과의 표준 오차.
  • "evs_mitigated_no_readout_mitigation": 오차 완화 처리가 적용되었으나 판독 오차 완화 처리는 적용되지 않은 관측값.
  • "stds_mitigated_no_readout_mitigation": 오차 완화 처리를 적용했으나 판독 오차 완화 처리는 적용하지 않은 결과의 표준 오차.
  • "evs_non_mitigated_with_readout_mitigation": 오차 완화 처리는 적용하지 않았으나 판독 오차 완화 처리는 적용한 관측값.
  • "stds_non_mitigated_with_readout_mitigation": 오차 완화 처리는 적용하지 않았으나 판독 오차 완화 처리는 적용한 결과의 표준 오차.
  • "resource_usage": TEM이 사용하는 시간 리소스를 포함하는 사전.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.