Skip to main content
IBM Quantum Platform

GraphState

class qiskit.circuit.library.GraphState(adjacency_matrix)

GitHub

Bases: QuantumCircuit

Circuito para preparar um estado de gráfico.

Dado um gráfico G = (V, E), com o conjunto de vértices V e o conjunto de arestas E, o estado do gráfico correspondente é definido como

G=(a,b)ECZ(a,b)+V|G\rangle = \prod_{(a,b) \in E} CZ_{(a,b)} {|+\rangle}^{\otimes V}

Esse estado pode ser preparado primeiro preparando todos os qubits no estado ++ e, em seguida, aplicando uma porta CZCZ para cada borda de gráfico correspondente.

Os circuitos de preparação do estado do gráfico são circuitos Clifford e, portanto, fáceis de simular classicamente. No entanto, ao adicionar uma camada de medições em uma base de produto no final, há evidências de que o circuito se torna difícil de simular [2].

Circuito de referência:

Diagrama que ilustra o circuito descrito anteriormente.

Referências

[1] M. Hein, J. Eisert, H.J. Briegel, Multi-party Entanglement in Graph States,

arXiv:0307130

[2] D. Koh, Further Extensions of Clifford Circuits & their Classical Simulation Complexities (Outras extensões de circuitos Clifford e suas complexidades de simulação clássica).

arXiv:1512.07892

Crie um circuito de preparação de estado gráfico.

Descontinuado desde a versão 2.1

A classe qiskit.circuit.library.graph_state.GraphState está obsoleta desde o Qiskit 2.1. Ele será removido no Qiskit 3.0. Em vez disso, use qiskit.circuit.library.GraphStateGate.

Parâmetros

adjacency_matrix (list | np.ndarray) – gráfico de entrada como uma lista n por n de listas 0-1

Aumentos

CircuitError - Se a matriz de adjacência não for simétrica.

O circuito prepara um estado de gráfico com a matriz de adjacência fornecida.


Atributos

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.