Introduction to Quantum Computing (18) - Grover's Algorithm: Quantum Problem Statement

preview_player
Показать описание

The quantum version of this problem deals with vectors instead of numbers and linear transformations instead of functions. The function f becomes the linear transformation O (for oracle). O acting on any basis vector ket(x) aside from ket(x*) produces ket(x), and O acting on ket(x*) gives -ket(x*). O can be concisely expressed in terms of the function f from the classical problem. The problem that Grover's algorithm solves is given this oracle O, find the vector ket(x*) such that O acting on ket(x*) equals -ket(x*).
Рекомендации по теме
Комментарии
Автор

if x = "Pony", what exactly is |x>? is it the succession of bits 01100010101 .... representing the ascii code of "Pony"? It should be as f(x) can be applied only on collapsed bits, but just want to make sure. Thanks

ovidiuv
Автор

Might be a silly question but why is the oracle this:

|x> (-1)^f(x)

Rather than this:
|x> (-1)^(f(x) + 1)

I say this because in the first case, if x = x* then we get -|x> as a result but -|x> doesn't equal |x> so when we pass it into the function again, we won't get |x> back but -|x> again. So I'm probably misinterpreting something but it doesn't seem reversible to me, while the second case it is reversible.

I'm having a lot of trouble wrapping my head around this stuff.

amihartz
Автор

If O is invertible, Why not just find O^-1?

zyzhang