PauliProductMeasurement
class qiskit.circuit.library.PauliProductMeasurement(pauli, label=None)
베이스: Instruction
파울리 곱 측정 지침.
파울리 곱 측정은 내결함성 양자 컴퓨팅의 기본 연산이다. 수학적으로 이는 다중 큐비트에 대한 공동 투영 측정에 해당하며, 여기서 측정 가능한 관측량은 파울리 연산자의 텐서곱이다. 이 측정의 결과는 단일 고유값으로, 또는 중 하나이며, 이는 파울리 곱의 고유상태를 나타낸다.
참조 자료:
[1] 다니엘 리틴스키. 표면 코드의 게임: 격자 수술을 통한 대규모 양자 컴퓨팅 arXiv:1808.02892
매개변수
- pauli (qiskit.quantum_info.Pauli) – 측정을 정의하는 파울리 연산자의 텐서곱, 예를 들어
Pauli("XY")또는Pauli("-XYIZ"). 파울리 연산자는 허용되지 않습니다. 파울리 배타 원리는 의 위상을 포함할 수 있으나, 또는 의 위상은 포함하지 않는다. - label (str | None) – 회로 시각화에서 표시할 게이트의 선택적 레이블. 기본적으로 레이블은 로 설정됩니다
PPM(<pauli label>).
Pauli 연산에 "I"-항이 포함된 경우에도 완전히 지원되지만, PauliProductMeasurement 명령어를 생성할 때는 Pauli에서 -항을 "I"제거하는 것이 권장됩니다. 이는 실제 측정을 변경하지 않으면서 더 작은 큐비트 집합에 대한 명령어를 지정하기 때문입니다.
인상
CircuitError – 파울리 연산자가 모든 원소에 대해 항등 연산자인 경우, 크기가 0이거나 복소 위상을 가지는 경우.
매개변수
- pauli (qiskit.quantum_info.Pauli)
- label (str | None)
속성
base_class
이 명령어의 기본 클래스를 가져옵니다. 이것은 의 상속 트리에 self반드시 포함될 것입니다.
명령어의 "기본 클래스"는 해당 객체가 _모든_ 회로 응용 분야에서 완전히 호환 가능하다고 간주되어야 하는 상속 트리 내 최하위 클래스를 의미한다. 이는 일반적으로 하위 클래스가 기본 클래스에 비해 프로그래머 편의성을 제공하기 위해 순수하게 정의되었으며, 행동적 관점에서 기본 클래스가 "진정한" 클래스임을 의미합니다. 특히, 하드웨어에서 다르게 구현될 명령어의 사용자 정의 버전을 정의하는 경우(예: 대체 측정 전략이나, 완전한 매개변수화 게이트와 구별하기 위한 base_class 특정 매개변수 세트를 Target 가진 매개변수화 게이트 버전)에는 재정의하지 않아야 합니다.
이는 표준 라이브러리 명령어의 단일 인스턴스 경우를 제외하고는 종종 정확히 동일합니다 type(obj). 이러한 싱글톤 인스턴스는 기본 클래스의 특수한 하위 클래스이며, 이 속성은 해당 기본 클래스를 반환합니다. 예를 들어,
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True일반적으로 명령어의 정확한 클래스에 의존해서는 안 됩니다. 주어진 회로 내에서 대부분의 상황에서는 가 더 적합한 판별 Instruction.name 기준이 될 것으로 예상됩니다.
decompositions
SessionEquivalenceLibrary 에서 명령어의 분해를 얻으십시오.
definition
다른 기본 게이트를 사용하여 반환 정의를 표현하십시오.
label
반품 안내 라벨
mutable
이 인스턴스가 변경 가능한 고유 인스턴스인지 여부.
이 속성이 true인 경우 False 게이트 인스턴스는 공유 싱글톤이며 변경 불가능합니다.
name
이름을 반환합니다.
num_clbits
클비트(clbits)의 개수를 반환합니다.
num_qubits
큐비트 수를 반환합니다.
params
이 Instruction.의 매개변수 이상적으로는 이들이 게이트 각도가 될 것입니다.
메소드
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
주장의 검증.
매개변수
- qargs (List) – 양자 비트 인수 목록.
- cargs (List) – 클래식 비트 인자 목록.
산출량
튜플(목록, 목록) – 단일 인자를 가진 튜플.
인상
CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.
copy
copy(name=None)
지침서 사본.
매개변수
name (str) – 복사된 회로에 부여할 이름, 그렇지 None 않으면 이름은 그대로 유지됩니다.
리턴
현재 지시의 사본으로, 이름이 제공된 경우 업데이트된 이름이 포함된
리턴 유형
inverse
is_parameterized
pauli
pauli()
이 측정으로 구현된 파울리 곱을 반환합니다.
이것은 이 명령어의 기본 파울리 연산자 텐서곱에 해당하는 Pauli 값을 재구성하여 반환하는 공개 액세서리이며, 여기에는 또는 +1 의 전역 -1위상도 포함됩니다.
리턴
이 명령어로 측정된 파울리 곱.
리턴 유형
repeat
repeat(n)
를 반복하는 self 명령어를 생성합니다.
매개변수
n (int) – 명령을 반복할 횟수
리턴
정의가 포함되어 있습니다.
리턴 유형
인상
CircuitError – n < 1인 경우.
reverse_ops
reverse_ops()
복합 명령어의 경우 하위 명령어의 순서를 반대로 하십시오.
이는 모든 하위 명령어를 재귀적으로 역순으로 바꾸어 수행됩니다. 어떤 게이트도 반전시키지 않습니다.
리턴
새로운 지시사항으로
하위 명령어 역순으로.
리턴 유형
soft_compare
soft_compare(other)
게이트 간의 부드러운 비교. 그들의 이름, 큐비트 수, 그리고 클래식 비트 수는 반드시 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수가 비교됩니다. ParameterExpression 인 경우 고려 대상에서 제외됩니다.
매개변수
other (instruction) – 기타 지시사항.
리턴
자기와 타인은 매개변수 표현식까지 동등하다.
리턴 유형
to_mutable
to_mutable()
이 게이트의 변경 가능한 복사본을 반환합니다.
이 메서드는 이 게이트 인스턴스의 새로운 변경 가능한 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우, 이는 변경 가능한 새로운 고유 인스턴스가 될 것입니다. 해당 인스턴스가 이미 변경 가능한 상태라면, 해당 인스턴스의 심층 복사본이 생성됩니다.