Skip to main content
IBM Quantum Platform

OBP 메타데이터

class OBPMetadata(truncation_error_budget, num_slices, operator_budget, backpropagation_history, num_backpropagated_slices)

GitHub

베이스: object

backpropagate() 메서드 중에 생성된 메타데이터를 위한 컨테이너입니다.


속성

매개변수

truncation_error_budget

유형: TruncationErrorBudget

관찰 가능한 잘라내기 전략을 지정하는 값입니다.

num_slices

유형: int | None

역전파를 시도할 총 슬라이스 수입니다.

operator_budget

유형: OperatorBudget

운영자가 얼마나 커질 수 있는지를 지정하는 값입니다.

backpropagation_history

유형: list[SliceMetadata]

역전파 진행 상황을 추적하기 위한 일련의 메타데이터 객체입니다.

num_backpropagated_slices

유형: int

역전파된 슬라이스의 수입니다.

참고

이 값은 operator_budget.max_paulis 또는 operator_budget.max_qwc_groups 같은 중지 기준이 역전파를 종료한 경우 len(backpropagation_history) 와 다를 수 있습니다. 그런 다음 마지막 슬라이스로 인해 임계값이 초과되었으므로 이 값은 len(backpropagation_history) - 1 와 같아야 합니다. 그러나 편의를 위해 이러한 값은 최종 사용자가 검사할 수 있도록 계속 기록됩니다.


메소드

accumulated_error

accumulated_error(observable_idx, slice_idx=None)

GitHub

주어진 '시간'에 주어진 관측값에 대한 누적 오류를 계산합니다.

이 메서드는 역전파가 진행되는 동안 주어진 '시간'에 주어진 관측 가능한 인덱스에 대한 누적 오류를 계산합니다. 이 맥락에서 '시간'은 이미 역전파된 슬라이스의 개별 단계로 이해해야 합니다.

누적 오차는 개별 오차의 합으로 계산됩니다 SliceMetadata.slice_errors. 이는 다시 지정된 범위 내에서 계산될 수 있습니다 TruncationErrorBudget.p_norm. 따라서, 계산된 누적 오차는 민코프스키 부등식 (Lp-노름 중 이외의 경우에 대한 삼각 부등식의 일반화 p=2)에 따라 실제 누적 오차의 상한이 된다.

참고

일반적인 Lp-norm(다음과 같음) p=2 )는 내적 노름이 아니므평행사변형 법칙을 만족하지 않습니다. 따라서 누적 오차의 상한으로 밍코프스키 부등식을 사용해야 합니다.

매개변수

  • observable_idx (int) – 계산할 누적 오류가 있는 관측값의 인덱스입니다.
  • slice_idx (int | None) – 누적 오류를 계산할 슬라이스(불연속 "시간" 단계)의 인덱스입니다. None 인 경우 기본값은 self.num_backpropagated_slices 이며, 이는 알고리즘의 중지 기준을 초과하지 않은 최신 시점의 관찰 가능 항목의 누적 오류를 계산하는 것과 동일합니다

리턴

위의 설명에 따라 계산된 누적 오류입니다.

리턴 유형

부동

from_json

classmethod from_json(json_file)

GitHub

Json 파일에서 메타데이터를 로드합니다.

매개변수

json_file (str) – 로드할 파일의 경로를 입력합니다.

리턴

로드된 메타데이터입니다.

리턴 유형

OBPMetadata

left_over_error_budget

left_over_error_budget(observable_idx, slice_idx=None)

GitHub

주어진 '시간'에 주어진 관측값에 대한 남은 오류 예산을 계산합니다.

이 방법은 역전파가 진행되는 동안 주어진 '시간'에 주어진 관측 가능한 인덱스에 대해 남은 오류 예산을 계산합니다. 이 맥락에서 '시간'은 이미 역전파된 슬라이스의 개별 단계로 이해해야 합니다.

잔여 오차 예산은 총 예산에서 개별 오차 예산의 합계를 뺀 나머지 값으로 계산됩니다 SliceMetadata.slice_errors. 이는 다시 지정된 범위 내에서 계산될 수 있습니다 TruncationErrorBudget.p_norm.

참고

밍코프스키 부등식을 통해 개별 슬라이스 오차를 합산하여 실제 오차의 상한을 형성하는 방법에 대한 자세한 설명은 accumulated_error() 에서 개별 슬라이스 오차를 합산하여 밍코프스키 부등식을 통해 실제 오차의 상한을 형성하는 방법에 대한 자세한 내용을 참조하세요.

참고

남은 오류 예산은 self.truncation_error_budget.max_error_total 값에 상대적이며 numpy.inf 이 경우 이 메서드의 반환 값도 numpy.inf 이 될 수 있습니다.

매개변수

  • observable_idx (int) – 계산할 남은 오류 예산이 있는 관측값의 인덱스입니다.
  • slice_idx (int | None) – 남은 오류 예산을 계산할 슬라이스(불연속 "시간" 단계)의 인덱스입니다. None 인 경우 기본값은 self.num_backpropagated_slices 이며, 이는 알고리즘의 중지 기준을 초과하지 않은 최신 시점의 관측 가능 항목의 남은 오류 예산을 계산하는 것과 같습니다

리턴

위의 설명에 따라 계산된 남은 오류 예산입니다.

리턴 유형

부동

to_json

to_json(json_file, **kwargs)

GitHub

이 메타데이터를 json 파일에 덤프합니다.

매개변수

  • json_file (str) – 메타데이터를 덤프할 파일 경로를 입력합니다.
  • kwargs - json.dump() 로 전달할 키워드 인수입니다.

리턴 유형

없음

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