About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
hidden_linear_function
class qiskit.circuit.library.hidden_linear_function(adjacency_matrix)
Bases:
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:
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')

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.
Return type
Reference:
[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. arXiv:1704.00690
Was this page helpful?
Report a bug or request content on GitHub.