EquivalenceLibrary
class qiskit.circuit.EquivalenceLibrary(base=None)
Bases: BaseEquivalenceLibrary
Uma biblioteca que fornece um mapeamento unidirecional de Gates para suas implementações equivalentes como QuantumCircuits.
Atributos
graph
Retorna o gráfico que representa os dados da biblioteca de equivalência.
Essa propriedade deve ser tratada como somente leitura, pois fornece uma referência ao estado interno do objeto EquivalenceLibrary objeto. Se o gráfico retornado por essa propriedade sofrer mutação, ele poderá corromper o conteúdo do objeto. Se você precisar modificar a saída PyDiGraph , certifique-se de fazer uma cópia antes de qualquer modificação.
Retorna
Um objeto gráfico com dados de equivalência em cada nó.
Tipo de retorno
PyDiGraph
Métodos
add_equivalence
add_equivalence(gate, equivalent_circuit)
Adicionar uma nova equivalência à biblioteca. As consultas futuras para o Gate incluirão o circuito fornecido, além de todas as equivalências existentes (inclusive as da base).
As portas parametrizadas (aquelas que incluem qiskit.circuit.Parameters em seu site Gate.params ) podem ser marcadas como equivalentes a circuitos parametrizados, desde que os parâmetros sejam iguais.
Parâmetros
- gate (Gate) – Uma instância do Gate.
- equivalent_circuit (QuantumCircuit) – Um circuito que implementa de forma equivalente a porta fornecida.
draw
draw(filename=None)
Desenha as relações de equivalência disponíveis na biblioteca.
Esta função chamará a ferramenta Graphviz do sistema para processar um arquivo que contenha cadeias de caracteres definidas pelo usuário (como nomes de portas). Recomenda-se chamar esta função apenas com entradas confiáveis.
Parâmetros
filename (str) – Um caminho opcional para gravar a imagem de saída. Se não for especificado, será exibida a imagem.
Retorna
Se filename for None, então a imagem renderizada.
Tipo de retorno
PIL.Image
Aumentos
InvalidFileError - se o nome do arquivo não for válido.
get_entry
get_entry(gate)
Obtém o conjunto de QuantumCircuit circuitos de instâncias da biblioteca que implementam de forma equivalente o Gate.
Os circuitos parametrizados terão seus parâmetros substituídos pelas entradas correspondentes de Gate.params.
Parâmetros
gate (Gate) – Uma instância do Gate.
Retorna
Uma lista de instâncias equivalentes de QuantumCircuit .
Se vazio, a biblioteca não contém decomposições conhecidas de Gate.
Os circuitos devolvidos serão ordenados de acordo com sua inserção na biblioteca, do mais antigo para o mais recente, do topo para a base. A ordem do site StandardEquivalenceLibrary geralmente não será consistente entre as versões do Qiskit.
Tipo de retorno
Lista[ QuantumCircuit ]
has_entry
has_entry(gate)
Verifica se uma biblioteca contém alguma decomposição para a porta.
Parâmetros
gate (Gate) – Uma instância do Gate.
Retorna
True se a porta tiver uma decomposição conhecida na biblioteca.
caso contrário, False.
Tipo de retorno
keys
keys()
Retorna a lista de chaves para o mapa de índices de nós.
Retorna
Chaves para o mapa de índice de chave para nó.
Tipo de retorno
Lista
node_index
node_index(key)
Retorna o índice do nó para uma determinada chave.
Parâmetros
key (Key) – Chave para uma equivalência.
Retorna
Índice do nó no gráfico para a chave fornecida.
Tipo de retorno
Int
set_entry
set_entry(gate, entry)
Definir o registro de equivalência para um Gate. Consultas futuras para o Gate retornarão apenas os circuitos fornecidos.
As portas parametrizadas (aquelas que incluem qiskit.circuit.Parameters em seu site Gate.params ) podem ser marcadas como equivalentes a circuitos parametrizados, desde que os parâmetros sejam iguais.
Parâmetros
- gate (Gate) – Uma instância do Gate.
- entry (List['QuantumCircuit']) – Uma lista de instâncias
QuantumCircuitinstâncias, cada uma implementando de forma equivalente o Gate fornecido.