Skip to main content
IBM Quantum Platform

EquivalenceLibrary

class qiskit.circuit.EquivalenceLibrary(base=None)

GitHub

Bases: BaseEquivalenceLibrary

Una biblioteca que proporciona un mapeo unidireccional de Gates a sus implementaciones equivalentes como QuantumCircuits.


Atributos

graph

Devuelve el gráfico que representa los datos de la biblioteca de equivalencias.

Esta propiedad debe tratarse como de sólo lectura, ya que proporciona una referencia al estado interno del objeto EquivalenceLibrary objeto. Si el gráfico devuelto por esta propiedad muta podría corromper el contenido del objeto. Si necesita modificar la salida PyDiGraph asegúrese de hacer una copia antes de cualquier modificación.

Devuelve

Un objeto gráfico con datos de equivalencia en cada nodo.

Tipo de retorno

PyDiGraph


Métodos

add_equivalence

add_equivalence(gate, equivalent_circuit)

Añade una nueva equivalencia a la biblioteca. Las futuras consultas de la Puerta incluirán el circuito dado, además de todas las equivalencias existentes (incluidas las de la base).

Las puertas parametrizadas (las que incluyen qiskit.circuit.Parameters en su Gate.params ) pueden marcarse como equivalentes a circuitos parametrizados, siempre que los parámetros coincidan.

Parámetros

  • gate (Gate) – Una instancia de Gate.
  • equivalent_circuit (QuantumCircuit) – Un circuito que implemente de forma equivalente la Puerta dada.

draw

draw(filename=None)

GitHub

Dibuja las relaciones de equivalencia disponibles en la biblioteca.

Aviso

Esta función ejecutará la herramienta Graphviz del sistema sobre un archivo que contenga cadenas de texto modificables por el usuario (como los nombres de las puertas). Se recomienda llamar a esta función únicamente con datos de confianza.

Parámetros

filename (str) – Una ruta opcional donde guardar la imagen resultante. Si no se especifica, se mostrará la imagen.

Devuelve

Si filename es None, entonces la imagen renderizada.

Tipo de retorno

PIL.Image

Eleva

InvalidFileError - si el nombre del archivo no es válido.

get_entry

get_entry(gate)

Obtiene el conjunto de QuantumCircuit circuitos de instancias de la biblioteca que implementan de forma equivalente la instancia Gate.

Los circuitos parametrizados tendrán sus parámetros sustituidos por las entradas correspondientes de Gate.params.

Parámetros

gate (Gate) – Una instancia de Gate.

Devuelve

Una lista de instancias equivalentes de QuantumCircuit .

Si está vacía, la biblioteca no contiene ninguna descomposición conocida de Gate.

Los circuitos devueltos se ordenarán según su inserción en la biblioteca, de más antiguo a más reciente, de arriba a abajo. El orden de StandardEquivalenceLibrary no suele ser el mismo en todas las versiones de Qiskit.

Tipo de retorno

Lista[ QuantumCircuit ]

has_entry

has_entry(gate)

Comprueba si una biblioteca contiene alguna descomposición para puerta.

Parámetros

gate (Gate) – Una instancia de Gate.

Devuelve

True si la puerta tiene una descomposición conocida en la biblioteca.

De lo contrario, False.

Tipo de retorno

bool

keys

keys()

Devuelve la lista de claves del mapa de índices de nodos.

Devuelve

Claves del mapa de índices de clave a nodo.

Tipo de retorno

Lista

node_index

node_index(key)

Devuelve el índice del nodo para una clave dada.

Parámetros

key (Key) – Clave de una equivalencia.

Devuelve

Índice del nodo del grafo correspondiente a la clave dada.

Tipo de retorno

Int

set_entry

set_entry(gate, entry)

Establece el registro de equivalencia de una Puerta. Las futuras consultas de la Puerta devolverán sólo los circuitos proporcionados.

Las puertas parametrizadas (las que incluyen qiskit.circuit.Parameters en su Gate.params ) pueden marcarse como equivalentes a circuitos parametrizados, siempre que los parámetros coincidan.

Parámetros

  • gate (Gate) – Una instancia de Gate.
  • entry (List['QuantumCircuit']) – Una lista de QuantumCircuit instancias, cada una de las cuales implementa de forma equivalente el Gate dado.
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.