검사
qiskit_paulice.checks
효과적인 시공간 파울리 검증을 찾는 기능.
add_pauli_checks
add_pauli_checks(circuit, target_qubits, noise_model, cost='gamma', cost_nshots=10000, method='windowed', ancilla_qubits=None, check_creg_name='checks_c', check_qreg_name='checks_q', seed=None)
클리포드 회로에 시공간 파울리 검출기를 추가한다.
체크 선택 알고리즘은 각 대상 큐비트에 대해 지정된 target_qubits 순서대로 유효하고 무게가 작은 체크를 찾아내며, 오류 탐지 범위가 가장 넓은(즉, 값을 cost 최소화하는) 체크를 선택합니다. target_qubits[0]에 대한 검사가 확정되면, 해당 검사는 알고리즘이 끝날 때까지 유지되며, 에 target_qubits[1] 대한 적절한 검사를 찾는 과정이 시작됩니다. 이러한 이유로, 의 target_qubits 순서는 함수가 생성하는 검사 집합에 어느 정도 영향을 미칠 수 있습니다.
이 함수는 부터 0 대상 큐비트당 1개의 체크에 이르는 수의 체크를 포함하는 인스턴스를 생성합니다 qiskit_paulice.CheckedCircuit . 체크 횟수가 늘어남에 따라 비용 함수가 어떻게 수렴하는지 살펴보는 것은 유익할 수 있는데, 이는 더 적은 수의 체크로도 비용이 수렴하는 것을 확인할 수 있기 때문이다.
효과적인 시공간 파울리 검정 방법을 찾는 방법에 대한 자세한 내용은 다음을 참조하십시오 보충 조항 마르티엘, 자바디의 II-VI.
매개변수
-
circuit (QuantumCircuit) – 시공간 파울리 체크무늬로 꾸민 클리포드 회로. 회로는 적어도 하나의 큐비트에 대한 측정을 통해 종결되어야 합니다. 이 회로는 가상 큐비트 또는 물리적 큐비트에 정의될 수 있습니다.
ancilla_qubits회로에 레이아웃이 있는 경우, 사용자는 다음을 제공해야 합니다. -
target_qubits (Sequence[int]) – 체크 큐비트와 페이로드를 얽히게 하는 데
circuit사용될 큐비트 인덱스.ancilla_qubits이 레이아웃(ISA 모드)을 가질 때circuit, 이들은 물리적 큐비트 인덱스이며, 와 동일한 인덱스 공간에 속합니다. -
noise_model (NoiseModel) – 대상 장치에 미치는 소음의 영향을 설명하는 소음 모델. 이 모델은 피킹 과정에서 특정 검사의 효과를 추정하는 데 사용될 것입니다. 학습된 파울리-린드블라드 잡음으로부터 잡음 모델을 생성할 수도 있지만, 백엔드 벤치마크 데이터에서 생성된 잡음을 대략적으로 근사하는 것만으로도 대개 충분합니다. 체크 삽입으로 인해 도입되었으나 제공된
GateWiseNoise데이터에 포함되지 않은 보조/표적 에지는 자동으로LayeredNoise추론됩니다(제공된 데이터 전반에 걸친 파울리 쌍당 중앙값 비율); 이를 재정의하려면 명시적으로 지정하십시오. -
cost (Literal['gamma', 'LER']) –
최적화할 지표. 이거나
"LER"(논리적 오류율)일"gamma"수 있다."gamma": 역논리 노이즈 채널(즉, 검증을 통해 감지할 수 없는 측정 광뿔 내의 오류로 구성된 노이즈 채널)과 관련된 감마 값."LER": 사후 선별 후의 경험적 논리적 오류율. 몬테카를로 시뮬레이션을 수행하여, 후선별된 샷 중 노출되지 않은 논리적 노이즈의 영향을 받는 비율을 계산합니다.
-
"LER"cost_nshots (int) – 몬테카를로 기반 비용 지표에서 사용된 몬테카를로 시뮬레이션 횟수 (현재는 만 해당). -
method (Literal['windowed', 'genetic', 'windowed_genetic']) –
피킹 방법(
"windowed","genetic", 또는"windowed_genetic")을 선택하십시오. 각 메서드는 순차적으로target_qubits검증을 추가합니다. 일단 특정 대상 큐비트에 체크가 확정되면, 이후 체크가 더 추가되더라도 해당 체크는 취소되지 않습니다. 각 메서드는 오류 탐지 능력이 최대인(즉, 가장 낮은cost) 검사 항목을 선택합니다."windowed": 각 대상 큐비트의 전선 중 작은 부분 집합을 표본 추출하여 적절한 검사 항을 찾는다"genetic": 각 대상 큐비트의 전체 와이어 공간에서 일련의 후보 검사 항을 도출한다"windowed_genetic": 각 대상 큐비트의 전선 중 무작위로 선택된 창 내에서 유전적 탐색을 수행한다
-
target_qubitsancilla_qubits (Sequence[int] | None) – 출력 회로에 체크 보조 장치를 배치할 위치를 지정하는 물리적 큐비트 인덱스 목록(각 인덱스당 하나씩).None가 아닐 때circuit.layout필요합니다.i``ancilla_qubits[i]\ 번째 검사를 구현할 때 와target_qubits[i]얽힘 게이트를 공유할 것입니다. -
check_creg_name (str) – 검증 측정을 위한 클래식 레지스터의 이름 (기본값: “checks_c”)
-
check_qreg_name (str) – 출력 회로에 있는 체크 어실라를 저장하는 양자 레지스터의 이름(기본값: “checks_q”). ISA 모드에서는 무시됩니다.
-
seed (int | None) – 적절한 검사 항목을 찾는 과정에서 무작위성을 제어하기 위한 난수 시드. 이 시드는 알고리즘 내의 일부 무작위성을 제어하지만, 비용 함수나 두 가지 유전적 선택 방법 중 하나를 사용할
LER때는 여전히 비결정성이 존재합니다.None와method="windowed"의cost="gamma"조합은 가 가 아닐 때seed완전히 결정론적이다.
리턴
인스턴스 목록 qiskit_paulice.CheckedCircuit – 검사 항목이 전혀 없는 기본 회로를 포함하는 인스턴스와, 추가된 각 검사 항목에 해당하는 인스턴스 하나씩. 출력의 마지막 요소에는 유효한 검사 집합을 찾을 수 있다고 가정할 때, 모든 대상 큐비트에 대한 검사가 qiskit_paulice.CheckedCircuit 포함되어 있습니다.