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
Implementa la puerta X multicontrolada utilizando una cadena en V de puertas CX.
Parámetros
- dirty_ancillas (bool) – cuando se establece en
True, el método aplica una puerta multicontrolada-X optimizada hasta una fase relativa utilizando qubits auxiliares sucios con las propiedades de los lemas 7 y 8 de arXiv:1501.06911, con un máximo de 8*k - 6 puertas CNOT. Para k dentro del intervalo {1, …, ceil(n/2)}. Y para n que representa el número total de qubits. - relative_phase (bool) – cuando se establece en
True, el método aplica la puerta multicontrolada-X optimizada hasta una fase relativa, de forma que, por el lema 7 de arXiv:1501.06911, las fases relativas deaction partse cancelan con las fases dereset part. - action_only (bool) – cuando se establece en
True, el método sólo aplica la parte de acción del 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')
Obtén el número de qubits ancilla necesarios.
Parámetros
inverse
inverse(annotated=False)
Invierte esta puerta. El MCX es su propia inversa.
Parámetros
annotated (bool) – cuando se establece en True, esto se utiliza normalmente para devolver un AnnotatedOperation con un modificador inverso en lugar de un Gate. Sin embargo, para esta clase se ignora este argumento ya que esta puerta es autoinversible.
Devuelve
puerta inversa (autoinversa).
Tipo de retorno