qiskit.circuit.library.evolved_operator_ansatz
qiskit.circuit.library.evolved_operator_ansatz(operators, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', remove_identities=True, flatten=None)
Construir un ansatz a partir de evoluciones de operadores.
Para un conjunto de operadores y repeticiones (reps), este circuito se define como
donde los exponenciales se expanden utilizando la fórmula del producto especificada en evolution.
Ejemplos:
from qiskit.circuit.library import evolved_operator_ansatz
from qiskit.quantum_info import Pauli
ops = [Pauli("ZZI"), Pauli("IZZ"), Pauli("IXI")]
ansatz = evolved_operator_ansatz(ops, reps=3, insert_barriers=True)
ansatz.draw("mpl")
Parámetros
- operators (BaseOperator | Sequence[BaseOperator]) – Los operadores a evolucionar. Puede ser un único operador o una secuencia de ellos.
- reps (int) – El número de veces que se deben repetir los operadores evolucionados.
- evolution (EvolutionSynthesis | None) – Una especificación de qué síntesis de evolución utilizar para el
PauliEvolutionGate. Por defecto, Trotterización de primer orden. Obsérvese que los operadores de tipoOperatorse evolucionan utilizando elHamiltonianGateya que no hay términos hamiltonianos que expandir en la trotterización. - insert_barriers (bool) – Si se deben insertar barreras entre cada evolución.
- name (str) – El nombre del circuito.
- parameter_prefix (str | Sequence[str]) – Establece los nombres de los parámetros del circuito. Si se trata de una cadena, se utilizará el mismo prefijo para cada parámetro. También puede ser una lista para especificar un prefijo por operador.
- remove_identities (bool) – Si
True, ignora los operadores de identidad (ten en cuenta que no comprobamos las entradasOperator). Esto también eliminará los parámetros asociados a las identidades. - flatten (bool | None) – Si
True, se devuelve un circuito plano en lugar de anidarlo dentro de varias capas de objetos de puerta. Establecer este valor enFalsereduce considerablemente el rendimiento, sobre todo en lo que respecta a la asignación de parámetros, pero puede resultar conveniente para obtener una visualización más clara.
Tipo de retorno
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.