AnnotatedOperation
class qiskit.circuit.AnnotatedOperation(base_op, modifiers)
베이스: Operation
주석이 달린 작업.
AnnotatedOperation 을 새로 만듭니다.
“주석이 달린 연산”을 사용하면 “기본” 연산에 수정자 목록을 추가할 수 있습니다. PowerModifierInverseModifier현재 지원되는 수정자는, ControlModifier 및 유형뿐입니다.
주석이 달린 작업은 기본 작업의 확장으로 볼 수 있습니다 ControlledGate (기본 연산에 제어 기능을 추가할 수도 있음)의 확장으로 볼 수 있습니다. 그러나 중요한 차이점은 주석이 달린 연산에 대한 회로 정의는 연산이 선언될 때 구성되지 않고 트랜스파일링 도중, 특히 HighLevelSynthesis 트랜스파일러 패스 중에 발생합니다.
주석이 달린 연산은 양자 회로에 추가할 수 있는 "더 높은 수준" 또는 "더 추상적인" 객체로 볼 수도 있습니다. 이를 통해 이 상위 레벨 표현을 활용하는 트랜스파일러 최적화 패스를 작성할 수 있습니다(예: 바로 뒤의 게이트와 그 반대의 게이트를 제거).
매개변수
- base_op (Operation) – 수정 중인 기본 작업
- modifiers (Modifier | list[Modifier]) – 수식어의 정렬된 목록. 지원되는 수식어에는,
ControlModifier및PowerModifier``InverseModifier이 포함됩니다.
예:
op1 = AnnotatedOperation(SGate(), [InverseModifier(), ControlModifier(2)])
op2_inner = AnnotatedGate(SGate(), InverseModifier())
op2 = AnnotatedGate(op2_inner, ControlModifier(2))op1 및 op2 모두 의미론적으로 먼저 반전된 다음 2큐비트로 제어되는 SGate() 와 동일합니다.
속성
name
작업 유형에 대한 고유 문자열 식별자입니다.
num_clbits
클래식 비트 수입니다.
num_qubits
큐비트 수입니다.
params
기본 기본 작업의 매개변수입니다.
base_op
이 주석이 달린 연산 내의 수정자가 적용되는 기본 연산.
modifiers
적용할 수정자의 정렬된 순서 base_op. 수정자는 지수가 가장 낮은 것부터 가장 높은 것 순으로 적용됩니다.
메소드
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
제어된 버전을 반환합니다.
의 값과 관계없이 annotated로 AnnotatedOperation 구현됩니다.
매개변수
- num_ctrl_qubits (int) – 추가할 대조군의 수. 기본값은
1.입니다. - label (str | None) – 무시됨.
- ctrl_state (int |str | None) – 게이트의 제어 상태는 정수 또는 비트열(예:
"110")로 지정됩니다. 만약None, 기본값은 모두 1인 상태입니다2**num_ctrl_qubits - 1. - annotated (bool | None) – 무시됨.
리턴
주어진 작업의 제어된 버전.
리턴 유형
copy
inverse
inverse(annotated=True)
그 반대의 버전을 반환합니다.
주석이 달린 연산으로 구현되어 있습니다 AnnotatedOperation.
매개변수
annotated (bool) – 무시됨 (다른 역산 방법과의 일관성을 위해 사용됨)
리턴
주어진 연산의 역방향 버전입니다.
power
power(exponent, annotated=False)
이 게이트를 exponent 의 힘으로 올리십시오.
주석이 달린 연산으로 구현되어 있습니다 AnnotatedOperation.
매개변수
리턴
구현하는 작업 gate^exponent
to_matrix
validate_parameter
validate_parameter(parameter)
기본 연산에 대한 매개변수의 유효성을 검사합니다.
매개변수
parameter (ParameterExpression |float)
리턴 유형