-- Bernstein-Vazirani algorithm -- See https://qiskit.org/textbook/ch-algorithms/bernstein-vazirani.html run("Downloads/q4.txt") "Secret value: 5" f = dot(X23,X03) psi = dot(H2,H1,H0,f,Z3,H3,H2,H1,H0,ket0) -- result is a probability distribution P = hadamard(psi,conj(psi)) -- qubit 3 is don't care, sum probabilities over eigenstates modulo 8 for(k,1,8,P[k]=P[k]+P[k+8]) xrange = (0,8) yrange = (0,1) draw(P[ceiling(x)],x) M = zero(2,8) for(k,1,8,M[1,k]=P[k],M[2,k]=k-1) M "Row 1 is the probability of observing the value in row 2"
Run