HiddenLinearFunction
class qiskit.circuit.library.HiddenLinearFunction(adjacency_matrix)
Bases: QuantumCircuit
Circuit to solve the hidden linear function problem.
The 2D Hidden Linear Function problem is determined by a 2D adjacency matrix A, where only elements that are nearest-neighbor on a grid have non-zero entries. Each row/column corresponds to one binary variable .
The hidden linear function problem is as follows:
Consider the quadratic form
and restrict onto the nullspace of A. This results in a linear function.
and the goal is to recover this linear function (equivalently a vector ). There can be multiple solutions.
In [1] it is shown that the present circuit solves this problem on a quantum computer in constant depth, whereas any corresponding solution on a classical computer would require circuits that grow logarithmically with . Thus this circuit is an example of quantum advantage with shallow circuits.
Reference Circuit:
Reference:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690
Create new HLF circuit.
The class qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction
is deprecated as of Qiskit 2.1. It will be removed in Qiskit 3.0. Use qiskit.circuit.library.hidden_linear_function instead.
Parameters
adjacency_matrix (list | np.ndarray) – a symmetric n-by-n list of 0-1 lists. n will be the number of qubits.
Raises
CircuitError – If A is not symmetric.
Attributes
name
Type: str
A human-readable name for the circuit.
Example
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit