Can the marked qubit be associated only with half of the register? I mean if I can ask the oracle if the $2$ low qubits from a $4$ qubit register have a certain value.

I ask this to know if I can bit-append for example names and telephones into one register, so I can entangle the marked qubit with CNOT gates only with one half of register qubits which are the telephones, so when I seek a telephone the oracle amplifies the state associated with the qubit marked.

There will be $N\times N$ states in the register initialized all to $0$ except the $N$ that are name-telephone equally with HADAMARD to get $1$ on the states' sumatory module.

  • 1
    $\begingroup$ Hi Luis! Welcome to QCSE, and thanks for asking your question. I think there's a good question in there somewhere but I'm a little lost on some of your phrasing. For example, what is a sumatory module? Also, amplification is of a state, not of a "qubit marked." Additionally why do you say there will be $N\times N$ states? What is $N$? Is it the number of names? Is there one name for each phone number in your set-up? $\endgroup$ – Mark S Jul 2 '19 at 15:38
  • $\begingroup$ N are the number of states, sumatory module is that the sates modules have to sum 1 like after aplying hadamad to all qbits. The answer below is very near from waht i need $\endgroup$ – Luis ALberto Jul 4 '19 at 7:55

On one hand, the oracle can use an arbitrary subset of the register qubits to decide whether it marks the state as the solution to the encoded problem. For example, if you're looking for any 4-qubit state with the first 2 qubits in state $|11\rangle$, you can do a CCNOT with those qubits as controls and the marked qubit as target to implement this condition - you're not required to use the last 2 qubits.

However, if you do nothing else in the oracle, you'll get an arbitrary answer that will fit the criteria; following the example from the previous paragraph, you'll get a random state of the form $|11??\rangle$. You probably want instead to have a mapping of the first pair of qubits to the second one, so that you'd get not only the key $|11\rangle$, but also the specific value that corresponds to it. In this case you'll need to encode it somehow, which will be reflected in the oracle and will ultimately entangle all register qubits with the marked qubit. Any qubits that are not entangled with the marked qubit have a chance to end up in a random state.

| improve this answer | |
  • $\begingroup$ Thanks, I put it in qsharp like this: ControlledOnInt(0,setregistertoint(0)))(namereg,telreg); ControlledOnInt(1,setregistertoint(3)))(namereg,telreg); ControlledOnInt(2,setregistertoint(0)))(namereg,telreg);ControlledOnInt(3,setregistertoint(2)))(namereg,telreg) $\endgroup$ – Luis ALberto Jul 4 '19 at 8:24
  • $\begingroup$ SO the marked qbit is only 1 when telephone 2 and 3 are seeked, BUt how to entagled for example 001001 with 1001110 without qsharp? $\endgroup$ – Luis ALberto Jul 4 '19 at 8:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.