MCXVChain
class qiskit.circuit.library.MCXVChain(num_ctrl_qubits=None, dirty_ancillas=False, label=None, ctrl_state=None, *, _base_label=None, relative_phase=False, action_only=False)
Bases: MCXGate
Implemente a porta X multicontrolada usando uma cadeia V de portas CX.
Parâmetros
- dirty_ancillas (bool) – quando definido como
True, o método aplica uma porta X multicontrolada otimizada até uma fase relativa usando qubits auxiliares sujos com as propriedades dos lemas 7 e 8 de arXiv:1501.06911, com no máximo 8*k - 6 portas CNOT. Para k dentro do intervalo {1, …, ceil(n/2)}. E para n que representa o número total de qubits. - relative_phase (bool) – quando definido como
True, o método aplica a porta multicontrolada-X otimizada até uma fase relativa, de modo que, pelo lema 7 de arXiv:1501.06911, as fases relativas doaction partse cancelam com as fases doreset part. - action_only (bool) – quando definido como
True, o método aplica apenas a parte da ação do lema 8 de arXiv:1501.06911. - num_ctrl_qubits (int | None)
- label (str | None)
- ctrl_state (int |str | None)
Métodos
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='v-chain')
Obtenha o número de qubits de ancilla necessários.
Parâmetros
inverse
inverse(annotated=False)
Inverta essa porta. O MCX é seu próprio inverso.
Parâmetros
annotated (bool) – quando definido como True, normalmente é usado para retornar um AnnotatedOperation com um modificador inverso definido em vez de um Gate. No entanto, para essa classe, esse argumento é ignorado, pois essa porta é auto-inversa.
Retorna
porta inversa (auto-inversa).
Tipo de retorno