qiskit.circuit.library.hidden_linear_function
qiskit.circuit.library.hidden_linear_function(adjacency_matrix)
Circuit pour résoudre le problème de la fonction linéaire cachée.
Le problème des fonctions linéaires cachées ( 2D ) est déterminé par une matrice d'adjacence A ( 2D ), où seuls les éléments qui sont les plus proches voisins sur une grille ont des entrées non nulles. Chaque ligne/colonne correspond à une variable binaire .
Le problème de la fonction linéaire cachée est le suivant :
Considérons la forme quadratique
et restreindre à l'espace nul de A. Il en résulte une fonction linéaire.
et l'objectif est de retrouver cette fonction linéaire (équivalente à un vecteur ). Il peut y avoir plusieurs solutions.
En [1], il est démontré que le présent circuit résout ce problème sur un ordinateur quantique à profondeur constante, alors que toute solution correspondante sur un ordinateur classique nécessiterait des circuits qui croissent de manière logarithmique avec . Ce circuit est donc un exemple d'avantage quantique avec des circuits peu profonds.
Circuit de référence :
from qiskit.circuit.library import hidden_linear_function
A = [[1, 1, 0], [1, 0, 1], [0, 1, 1]]
circuit = hidden_linear_function(A)
circuit.draw('mpl')
Paramètres
adjacency_matrix (list |ndarray) – une liste symétrique n par n de listes 0-1. n sera le nombre de qubits.
Augmentations
CircuitError – Si A n'est pas symétrique.
Type de retour
Référence :
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690