MCXRecursivo
class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)
Bases: MCXGate
Implemente a porta X multicontrolada usando recursão.
Usando um único qubit de ancilla limpo, a porta X multicontrolada é dividida em quatro sub-registros, cada um deles usando o método de cadeia V.
O método é baseado no Lema 9 de [2], mostrado pela primeira vez no Lema 7.3 de [1].
Referências
- Barenco et al, 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
- Iten et al, 2015. https://arxiv.org/abs/1501.06911
Criar uma nova porta MCX.
Métodos
Parâmetros
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')
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