HiddenLinearFunction
class qiskit.circuit.library.HiddenLinearFunction(adjacency_matrix)
Bases : QuantumCircuit
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 :

Références :
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690
Créer un nouveau circuit FHLM.
La classe qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction est obsolète depuis Qiskit 2.1. Elle sera supprimée à Qiskit 3.0. Utilisez plutôt qiskit.circuit.library.hidden_linear_function.
Paramètres
adjacency_matrix (list | np.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.
Attributs
name
Type : str
Un nom lisible par l'homme pour le circuit.
Exemple
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit