test_grover.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:zippy 作者: securesystemslab 项目源码 文件源码
def test_grover_iteration_2():
    numqubits = 4
    basis_states = superposition_basis(numqubits)
    v = OracleGate(numqubits, return_one_on_two)
    # After (pi/4)sqrt(pow(2, n)), IntQubit(2) should have highest prob
    # In this case, after around pi times (3 or 4)
    # print ''
    # print basis_states
    iterated = grover_iteration(basis_states, v)
    iterated = qapply(iterated)
    # print iterated
    iterated = grover_iteration(iterated, v)
    iterated = qapply(iterated)
    # print iterated
    iterated = grover_iteration(iterated, v)
    iterated = qapply(iterated)
    # print iterated
    # In this case, probability was highest after 3 iterations
    # Probability of Qubit('0010') was 251/256 (3) vs 781/1024 (4)
    # Ask about measurement
    expected = (-13*basis_states)/64 + 264*IntQubit(2, numqubits)/256
    assert qapply(expected) == iterated
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号