TdgGate
class qiskit.circuit.library.TdgGate(*args, _force_mutable=False, **kwargs)
베이스: SingletonGate
단일 큐비트 T-부속 게이트 ( ).
단계로 유도합니다.
이것은 클리포드 게이트가 아니며 폴리-Z의 네 번째 루트입니다.
메서드를 tdg() 사용하여 에 QuantumCircuit 적용할 수 있습니다.
매트릭스 표현:
회로 기호:
┌─────┐
q_0: ┤ Tdg ├
└─────┘Z축을 중심으로 라디안 회전과 동일합니다.
매개변수
label – 게이트에 대한 선택적 레이블.
속성
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
이 인스턴스가 변경 가능한 고유 인스턴스인지 여부입니다.
이 속성이 False 인 경우 게이트 인스턴스는 공유 싱글톤이며 변경할 수 없습니다.
name
이름을 반환합니다.
num_clbits
클릿 수를 반환합니다.
num_qubits
큐비트 수를 반환합니다.
params
이 매개변수 Instruction. 이상적으로는 게이트 각도입니다.
메소드
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
인수의 유효성 검사 및 처리와 그 관계.
예를 들어 cx([q[0],q[1]], q[2]) 은 cx(q[0], q[2]); cx(q[1], q[2]) 을 의미합니다. 이 메서드는 올바른 그룹화의 인수를 산출합니다. 주어진 예제에서:
in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
[q[1], q[2]], []일반적인 방송 규칙은 다음과 같습니다:
Len(qargs) == 1:
[q[0], q[1]] -> [q[0]],[q[1]]Len(qargs) == 2:
[[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]]Len(qargs) >= 3:
[q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...]
매개변수
리턴
인수가 하나인 튜플입니다.
레이즈
CircuitError – 입력이 유효하지 않은 경우. 예를 들어, 인수의 개수가 게이트의 예상치와 일치하지 않습니다.
리턴 유형
control
control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)
제어된 버전을 반환합니다.
제어된 게이트는 일 annotated 때 ControlledGate 로 False구현되며, 일 annotated 때 AnnotatedOperation 로 True구현된다.
qiskit.circuit.gate.Gate.control()'s argument'는 Qiskit 2.3annotated 부터 사용을 권장하지 않습니다. Qiskit에서 제거될 예정입니다. 3.0 Gate.control 메서드는 더 이상 annotated=None을 허용하지 않습니다. 새로운 기본값은 annotated=True이며, 이는 제어된 게이트를 제어된 게이트 클래스( AnnotatedOperation )로 표현합니다(전용 제어된 게이트 클래스가 이미 존재하지 않는 경우). 이전 동작을 유지하려면 명시적으로 annotated=False를 설정할 수 있습니다. 그러나 annotated=True를 사용하는 것이 권장됩니다. 이는 제어 회로의 생성을 트랜스파일러로 미루고, 추가적인 제어 게이트 최적화를 가능하게 하기 때문입니다(일반적으로 더 높은 품질의 회로로 이어집니다).
매개변수
- num_ctrl_qubits (int) – 추가할 대조군의 수. 기본값은
1.입니다. - label (str | None) – 선택적 게이트 레이블. 기본값은
None.입니다. 제어된 게이트가 주석 처리된 연산으로 구현된 경우 무시됩니다. - ctrl_state (int |str | None) – 게이트의 제어 상태는 정수 또는 비트열(예:
"110")로 지정됩니다. 만약None, 기본값은 모두 1인 상태입니다2**num_ctrl_qubits - 1. - annotated (bool | None) – 제어된 게이트를 제어된 게이트로 구현할 것인지, 아니면 주석 처리된 연산으로 구현할 것인지를 나타냅니다. 만약
None, 로False취급된다면.
리턴
이 게이트의 제어된 버전.
레이즈
QiskitError – 유효하지 않음 num_ctrl_qubits 또는 ctrl_state.
copy
copy(name=None)
지침 사본.
매개변수
name (str) – 를 복사된 회로에 부여할 이름으로 지정합니다. None 인 경우 이름은 동일하게 유지됩니다.
리턴
현재 인스트럭션의 사본(이름이 제공된 경우 업데이트된 이름 포함)
리턴 유형
inverse
inverse(annotated=False)
역 Tdg 게이트(즉, T)를 반환합니다.
매개변수
annotated (bool) – 로 설정된 경우 True, 이는 일반적으로 구체적인 수정자 대신 역 수정자가 설정된 AnnotatedOperation 를 반환하는 데 사용되며, 콘크리트 대신 역 수정자가 설정된 Gate. 그러나 이 클래스의 경우 이 인자는 무시되는데, 왜냐하면 이 게이트의 역은 항상 TGate.
리턴
의 역수 TdgGate
리턴 유형
is_parameterized
power
power(exponent, annotated=False)
이 게이트를 exponent 의 힘으로 올리십시오.
단일 게이트(참조. UnitaryGate) 또는 주석이 달린 연산으로(참조. AnnotatedOperation). 다음과 같은 여러 표준 게이트의 경우 RXGate와 같이 게이트의 전력을 직접 반환되는 다른 표준 게이트로 표현할 수 있는 경우.
매개변수
- exponent (float) – 게이트를 올릴 수 있는 힘
- annotated (bool) – 는 파워 게이트를 주석 처리된 연산으로 구현할 수 있는지 여부를 나타냅니다. 다음과 같은 여러 표준 게이트의 경우
RXGate와 같이 여러 개의 표준 게이트가 있는 경우, 게이트의 전력을 다른 표준 게이트로 표현할 수 있는 경우 이 인수는 무시됩니다.
리턴
구현하는 작업 gate^exponent
레이즈
CircuitError – 게이트가 유니터리가 아닐 경우
repeat
repeat(n)
를 반복하는 self 명령어를 생성합니다.
매개변수
n (int) – 지시를 반복할 횟수
리턴
정의가 포함되어 있습니다.
리턴 유형
레이즈
CircuitError – n < 1인 경우.
reverse_ops
reverse_ops()
복합 인스트럭션의 경우 하위 인스트럭션의 순서를 반대로 합니다.
이는 모든 하위 인스트럭션을 재귀적으로 반전하여 수행됩니다. 어떤 게이트도 반전시키지 않습니다.
리턴
를 포함하는 새 명령어
하위 지침이 반전되었습니다.
리턴 유형
soft_compare
soft_compare(other)
게이트 간 소프트 비교. 이름, 큐비트 수, 클래식 비트 번호가 일치해야 합니다. 매개변수의 개수가 일치해야 합니다. 각 매개변수를 비교합니다. ParameterExpression 인 경우 고려되지 않습니다.
매개변수
other (instruction) – 다른 지침.
리턴
는 자체 및 기타 매개변수 표현식과 동일합니다.
리턴 유형
to_matrix
to_matrix()
게이트 유니타리 행렬에 대해 Numpy.array 을 반환합니다.
리턴
게이트 서브클래스에 행렬 정의가 있는 경우.
리턴 유형
np.ndarray
레이즈
CircuitError – 게이트(Gate)의 하위 클래스가 이 메서드를 구현하지 않은 경우, 이 기본 클래스 메서드가 호출되면 예외가 발생합니다.
to_mutable
to_mutable()
이 게이트의 변경 가능한 복사본을 반환합니다.
이 메서드는 이 게이트 인스턴스의 변경 가능한 새 복사본을 반환합니다. 싱글톤 인스턴스가 사용 중인 경우 이는 변경 가능한 새 고유 인스턴스가 됩니다. 인스턴스가 이미 변경 가능한 경우 해당 인스턴스의 딥카피가 됩니다.