Timeline for Grover oracle result: vectors (0,1) & (0,1) => two Hadamards => product of two H results => CZ = (.5, .-5, -.5, -.5)
Current License: CC BY-SA 4.0
11 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 7, 2020 at 18:49 | comment | added | Mariia Mykhailova | You're welcome :-) Feel free to accept the answer ;-) | |
Jun 7, 2020 at 12:57 | comment | added | James Arneberg | Thank you for this answer. I thought Grover's algorithm was specifically designed to search a database. I think I was misinformed (arxiv.org/abs/quant-ph/9605043). However, even on the Wiki page it says, "Although the purpose of Grover's algorithm is usually described as "searching a database", it may be more accurate to describe it as "inverting a function". In fact since the oracle for an unstructured database requires at least linear complexity, the algorithm cannot be used for actual databases." Again, thank you for your help and patience. | |
Jun 7, 2020 at 0:42 | comment | added | Mariia Mykhailova | Grover's search algorithm is not really suited for database search. The examples that use hardcoded values that we search for don't do it justice for the precise reason you pointed out. Tag "grovers-algorithm" on this site has a lot of great questions and answers on this, starting with quantumcomputing.stackexchange.com/questions/6325/… | |
Jun 6, 2020 at 20:42 | comment | added | James Arneberg | I see how this works, though. I understand the idea, I think. If I assign arbitrary values (let's say one) to each of the four states, then my average is one. If I make one of them negative, my average is .5. If I rotate the values of one around the new average, the non-negative value will end up to be two [(.5-(-1)) +.5]. | |
Jun 6, 2020 at 20:29 | comment | added | James Arneberg | I can't seem to find the utility of the Grover algorithm. You seem to have to know in advance what your |x> will equal before you apply the correct algorithm. If I search the New York telephone directory for Mykhailova, I first have to know ahead of time that Mykhailova is equal to the equivalent of |00>, |01>, |10>, or |11>. | |
Jun 6, 2020 at 12:42 | comment | added | James Arneberg | Hmmm ... I thought the oracle identified the |11>, then the rest of the algorithm rotated it until it stuck out like a sore thumb. | |
Jun 6, 2020 at 2:27 | comment | added | Mariia Mykhailova | It does detect 11, sort of - by means of flipping its phase. To convert this effect into a "detection" that results in the actual 11 state, you need the full Grover's algorithm, the oracle alone doesn't do it. | |
Jun 6, 2020 at 2:21 | comment | added | James Arneberg | Thank you for your reply. I appreciate it. I have to give this some additional study because I am frankly missing the point. I thought this oracle would detect an |11> if the |11> lurked among the choices. | |
Jun 6, 2020 at 0:05 | comment | added | Mariia Mykhailova | Do you mean "Oracle for |w⟩=|11⟩"? It doesn't start in |11⟩ state indeed; the whole circuit starts in |00⟩ state. The fact that this oracle marks |11⟩ state doesn't mean that the circuit starts in |00⟩, it means that the oracle CZ, when given a superposition of all possible inputs, flips the phase of just |11⟩. | |
Jun 5, 2020 at 23:54 | comment | added | James Arneberg | Thank you for responding. This is the source. Scroll down about 3/4 the way to the section "Oracles". medium.com/swlh/… | |
Jun 5, 2020 at 21:25 | history | answered | Mariia Mykhailova | CC BY-SA 4.0 |