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
- num_ctrl_qubits (int | None) – Número de controles a serem adicionados. Padroniza para
1. - 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. - label (str | None) – Etiqueta opcional para o portão. Padroniza para
None. - ctrl_state (int |str | None) – O estado de controle da porta, especificado como um número inteiro ou uma sequência de bits (por exemplo,
"110"). SeNone, o valor padrão é o estado em que todos os bits são 12**num_ctrl_qubits - 1 - 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.
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