Equivalent unitary transformations

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












7












$begingroup$


Suppose $x in 0,1^n$. The standard way to make a query is with an oracle $O_x$ that given an input $|i,b rangle $ returns $|i,b oplus x_i rangle$. Via the phase kick-back trick, this can be used to make another type of query $O_x^''$ such that $O_x^''|irangle=(-1)^x_i|irangle$. This is easily seen by passing to the $|+rangle, |- rangle$ basis. How can it be seen that the converse is true i.e. that with a query of the latter type (and perhaps some ancillary qubit or transformation) one can implement a query of the former type?










share|improve this question











$endgroup$











  • $begingroup$
    Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34
















7












$begingroup$


Suppose $x in 0,1^n$. The standard way to make a query is with an oracle $O_x$ that given an input $|i,b rangle $ returns $|i,b oplus x_i rangle$. Via the phase kick-back trick, this can be used to make another type of query $O_x^''$ such that $O_x^''|irangle=(-1)^x_i|irangle$. This is easily seen by passing to the $|+rangle, |- rangle$ basis. How can it be seen that the converse is true i.e. that with a query of the latter type (and perhaps some ancillary qubit or transformation) one can implement a query of the former type?










share|improve this question











$endgroup$











  • $begingroup$
    Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34














7












7








7





$begingroup$


Suppose $x in 0,1^n$. The standard way to make a query is with an oracle $O_x$ that given an input $|i,b rangle $ returns $|i,b oplus x_i rangle$. Via the phase kick-back trick, this can be used to make another type of query $O_x^''$ such that $O_x^''|irangle=(-1)^x_i|irangle$. This is easily seen by passing to the $|+rangle, |- rangle$ basis. How can it be seen that the converse is true i.e. that with a query of the latter type (and perhaps some ancillary qubit or transformation) one can implement a query of the former type?










share|improve this question











$endgroup$




Suppose $x in 0,1^n$. The standard way to make a query is with an oracle $O_x$ that given an input $|i,b rangle $ returns $|i,b oplus x_i rangle$. Via the phase kick-back trick, this can be used to make another type of query $O_x^''$ such that $O_x^''|irangle=(-1)^x_i|irangle$. This is easily seen by passing to the $|+rangle, |- rangle$ basis. How can it be seen that the converse is true i.e. that with a query of the latter type (and perhaps some ancillary qubit or transformation) one can implement a query of the former type?







algorithm quantum-gate phase-kickback






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 16 at 13:20









Blue

6,48641555




6,48641555










asked Feb 16 at 13:06









KarlKarl

384




384











  • $begingroup$
    Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34

















  • $begingroup$
    Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34
















$begingroup$
Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
$endgroup$
– Norbert Schuch
Feb 16 at 19:34





$begingroup$
Are you sure that this is even possible? I have a vague memory from long ago that is was not clear how to go from a phase to a normal oracle.
$endgroup$
– Norbert Schuch
Feb 16 at 19:34











2 Answers
2






active

oldest

votes


















1












$begingroup$

If we express the action of $O_x$ on the basis $mid i, pm rangle$ instead of $mid i , b rangle$



begineqnarray*
O_x mid i , + rangle = mid i , + rangle\
O_x mid i , - rangle = (-1)^x_i mid i , - rangle\
endeqnarray*



Because we say ancillas must be started and ended with $0$,



begineqnarray*
O_x'' &=& (1 otimes S_x H) O_x (1 otimes H S_x)
endeqnarray*



where the $1 otimes H S_x$ conjugation takes care of turning the ancilla from $0$ to $-$ and back.



Be careful about what $O_x''$ does. It does the desired $(-1)^x_i$ only when the ancilla is in $0$ as it is supposed to be. If the ancilla is in $1$ instead, $O_x''$ acts like the identity.



begineqnarray*
O_x'' mid i , 0 rangle &=& (-1)^x_i mid i, 0 rangle\
O_x'' mid i , 1 rangle &=& mid i, 1 rangle\
endeqnarray*



Solve for $O_x$



begineqnarray*
O_x &=& (1 otimes H S_x) O_x'' (1 otimes S_x H)
endeqnarray*



See what it does on $mid i , + rangle$ and $mid i, - rangle$



begineqnarray*
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, + rangle &=& (1 otimes H S_x) O_x'' mid i, 1 rangle\
&=& (1 otimes H S_x) mid i, 1 rangle\
&=& mid i, + rangle\
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, - rangle &=& (1 otimes H S_x) O_x'' mid i, 0 rangle\
&=& (1 otimes H S_x) (-1)^x_i mid i, 0 rangle\
&=& (-1)^x_i mid i , - rangle\
endeqnarray*



This matches with what we wanted for $O_x$ in the first two lines.



Edit:



begineqnarray*
O_x mid i, + rangle &=& O_x frac1sqrt2 (mid i, 0 rangle + mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle + O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle + O_x mid i, 1+x_i rangle)\
&=& mid i, + rangle
endeqnarray*



For the last equality, the two summands either swap or they don't depending on $x_i$. Similarly with -



begineqnarray*
O_x mid i, - rangle &=& O_x frac1sqrt2 (mid i, 0 rangle - mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle - O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle - O_x mid i, 1+x_i rangle)\
endeqnarray*



so if $x_i=0$ there is no swap of terms and the result is $mid i, - rangle$. If $x_i=1$, there is a swap of terms and the result is $- mid i, - rangle$. This can be put together by saying $O_x mid i, - rangle = (-1)^x_i mid i , - rangle$






share|improve this answer











$endgroup$












  • $begingroup$
    How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34











  • $begingroup$
    Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
    $endgroup$
    – Karl
    Feb 17 at 11:06











  • $begingroup$
    Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
    $endgroup$
    – Karl
    Feb 17 at 17:29











  • $begingroup$
    You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
    $endgroup$
    – AHusain
    Feb 17 at 17:36


















1












$begingroup$

You are given a quantum circuit for $U$ compiled into the H/CNOT/T gateset. Derive a controlled version of $U$ by adding a control qubit $q$, replacing every H with a controlled H, every CNOT with a CCNOT, and every T with a controlled T. In all cases the new control goes on the $q$.



Recompile the modified gates down into the H/CNOT/T gate set. Prepend and append the circuit with a Hadamard on $q$. You now have a circuit that toggles $q$ when a -1 eigenstate of $U$ is input and leaves $q$ alone when a +1 eigenstate of $U$ is input.



In short:



  • Circuit $C$ implements $(-1)^f(x)$

  • Derive controlled $C$ implementing $(-1)^q cdot f(x)$

  • Switch control basis from Z to X, achieving $q mathreloplus = f(x)$





share|improve this answer









$endgroup$












  • $begingroup$
    Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
    $endgroup$
    – Karl
    Feb 17 at 11:11










  • $begingroup$
    And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
    $endgroup$
    – Karl
    Feb 17 at 13:07






  • 1




    $begingroup$
    @Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
    $endgroup$
    – Craig Gidney
    Feb 17 at 18:04










Your Answer





StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "694"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fquantumcomputing.stackexchange.com%2fquestions%2f5503%2fequivalent-unitary-transformations%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









1












$begingroup$

If we express the action of $O_x$ on the basis $mid i, pm rangle$ instead of $mid i , b rangle$



begineqnarray*
O_x mid i , + rangle = mid i , + rangle\
O_x mid i , - rangle = (-1)^x_i mid i , - rangle\
endeqnarray*



Because we say ancillas must be started and ended with $0$,



begineqnarray*
O_x'' &=& (1 otimes S_x H) O_x (1 otimes H S_x)
endeqnarray*



where the $1 otimes H S_x$ conjugation takes care of turning the ancilla from $0$ to $-$ and back.



Be careful about what $O_x''$ does. It does the desired $(-1)^x_i$ only when the ancilla is in $0$ as it is supposed to be. If the ancilla is in $1$ instead, $O_x''$ acts like the identity.



begineqnarray*
O_x'' mid i , 0 rangle &=& (-1)^x_i mid i, 0 rangle\
O_x'' mid i , 1 rangle &=& mid i, 1 rangle\
endeqnarray*



Solve for $O_x$



begineqnarray*
O_x &=& (1 otimes H S_x) O_x'' (1 otimes S_x H)
endeqnarray*



See what it does on $mid i , + rangle$ and $mid i, - rangle$



begineqnarray*
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, + rangle &=& (1 otimes H S_x) O_x'' mid i, 1 rangle\
&=& (1 otimes H S_x) mid i, 1 rangle\
&=& mid i, + rangle\
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, - rangle &=& (1 otimes H S_x) O_x'' mid i, 0 rangle\
&=& (1 otimes H S_x) (-1)^x_i mid i, 0 rangle\
&=& (-1)^x_i mid i , - rangle\
endeqnarray*



This matches with what we wanted for $O_x$ in the first two lines.



Edit:



begineqnarray*
O_x mid i, + rangle &=& O_x frac1sqrt2 (mid i, 0 rangle + mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle + O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle + O_x mid i, 1+x_i rangle)\
&=& mid i, + rangle
endeqnarray*



For the last equality, the two summands either swap or they don't depending on $x_i$. Similarly with -



begineqnarray*
O_x mid i, - rangle &=& O_x frac1sqrt2 (mid i, 0 rangle - mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle - O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle - O_x mid i, 1+x_i rangle)\
endeqnarray*



so if $x_i=0$ there is no swap of terms and the result is $mid i, - rangle$. If $x_i=1$, there is a swap of terms and the result is $- mid i, - rangle$. This can be put together by saying $O_x mid i, - rangle = (-1)^x_i mid i , - rangle$






share|improve this answer











$endgroup$












  • $begingroup$
    How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34











  • $begingroup$
    Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
    $endgroup$
    – Karl
    Feb 17 at 11:06











  • $begingroup$
    Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
    $endgroup$
    – Karl
    Feb 17 at 17:29











  • $begingroup$
    You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
    $endgroup$
    – AHusain
    Feb 17 at 17:36















1












$begingroup$

If we express the action of $O_x$ on the basis $mid i, pm rangle$ instead of $mid i , b rangle$



begineqnarray*
O_x mid i , + rangle = mid i , + rangle\
O_x mid i , - rangle = (-1)^x_i mid i , - rangle\
endeqnarray*



Because we say ancillas must be started and ended with $0$,



begineqnarray*
O_x'' &=& (1 otimes S_x H) O_x (1 otimes H S_x)
endeqnarray*



where the $1 otimes H S_x$ conjugation takes care of turning the ancilla from $0$ to $-$ and back.



Be careful about what $O_x''$ does. It does the desired $(-1)^x_i$ only when the ancilla is in $0$ as it is supposed to be. If the ancilla is in $1$ instead, $O_x''$ acts like the identity.



begineqnarray*
O_x'' mid i , 0 rangle &=& (-1)^x_i mid i, 0 rangle\
O_x'' mid i , 1 rangle &=& mid i, 1 rangle\
endeqnarray*



Solve for $O_x$



begineqnarray*
O_x &=& (1 otimes H S_x) O_x'' (1 otimes S_x H)
endeqnarray*



See what it does on $mid i , + rangle$ and $mid i, - rangle$



begineqnarray*
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, + rangle &=& (1 otimes H S_x) O_x'' mid i, 1 rangle\
&=& (1 otimes H S_x) mid i, 1 rangle\
&=& mid i, + rangle\
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, - rangle &=& (1 otimes H S_x) O_x'' mid i, 0 rangle\
&=& (1 otimes H S_x) (-1)^x_i mid i, 0 rangle\
&=& (-1)^x_i mid i , - rangle\
endeqnarray*



This matches with what we wanted for $O_x$ in the first two lines.



Edit:



begineqnarray*
O_x mid i, + rangle &=& O_x frac1sqrt2 (mid i, 0 rangle + mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle + O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle + O_x mid i, 1+x_i rangle)\
&=& mid i, + rangle
endeqnarray*



For the last equality, the two summands either swap or they don't depending on $x_i$. Similarly with -



begineqnarray*
O_x mid i, - rangle &=& O_x frac1sqrt2 (mid i, 0 rangle - mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle - O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle - O_x mid i, 1+x_i rangle)\
endeqnarray*



so if $x_i=0$ there is no swap of terms and the result is $mid i, - rangle$. If $x_i=1$, there is a swap of terms and the result is $- mid i, - rangle$. This can be put together by saying $O_x mid i, - rangle = (-1)^x_i mid i , - rangle$






share|improve this answer











$endgroup$












  • $begingroup$
    How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34











  • $begingroup$
    Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
    $endgroup$
    – Karl
    Feb 17 at 11:06











  • $begingroup$
    Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
    $endgroup$
    – Karl
    Feb 17 at 17:29











  • $begingroup$
    You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
    $endgroup$
    – AHusain
    Feb 17 at 17:36













1












1








1





$begingroup$

If we express the action of $O_x$ on the basis $mid i, pm rangle$ instead of $mid i , b rangle$



begineqnarray*
O_x mid i , + rangle = mid i , + rangle\
O_x mid i , - rangle = (-1)^x_i mid i , - rangle\
endeqnarray*



Because we say ancillas must be started and ended with $0$,



begineqnarray*
O_x'' &=& (1 otimes S_x H) O_x (1 otimes H S_x)
endeqnarray*



where the $1 otimes H S_x$ conjugation takes care of turning the ancilla from $0$ to $-$ and back.



Be careful about what $O_x''$ does. It does the desired $(-1)^x_i$ only when the ancilla is in $0$ as it is supposed to be. If the ancilla is in $1$ instead, $O_x''$ acts like the identity.



begineqnarray*
O_x'' mid i , 0 rangle &=& (-1)^x_i mid i, 0 rangle\
O_x'' mid i , 1 rangle &=& mid i, 1 rangle\
endeqnarray*



Solve for $O_x$



begineqnarray*
O_x &=& (1 otimes H S_x) O_x'' (1 otimes S_x H)
endeqnarray*



See what it does on $mid i , + rangle$ and $mid i, - rangle$



begineqnarray*
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, + rangle &=& (1 otimes H S_x) O_x'' mid i, 1 rangle\
&=& (1 otimes H S_x) mid i, 1 rangle\
&=& mid i, + rangle\
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, - rangle &=& (1 otimes H S_x) O_x'' mid i, 0 rangle\
&=& (1 otimes H S_x) (-1)^x_i mid i, 0 rangle\
&=& (-1)^x_i mid i , - rangle\
endeqnarray*



This matches with what we wanted for $O_x$ in the first two lines.



Edit:



begineqnarray*
O_x mid i, + rangle &=& O_x frac1sqrt2 (mid i, 0 rangle + mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle + O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle + O_x mid i, 1+x_i rangle)\
&=& mid i, + rangle
endeqnarray*



For the last equality, the two summands either swap or they don't depending on $x_i$. Similarly with -



begineqnarray*
O_x mid i, - rangle &=& O_x frac1sqrt2 (mid i, 0 rangle - mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle - O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle - O_x mid i, 1+x_i rangle)\
endeqnarray*



so if $x_i=0$ there is no swap of terms and the result is $mid i, - rangle$. If $x_i=1$, there is a swap of terms and the result is $- mid i, - rangle$. This can be put together by saying $O_x mid i, - rangle = (-1)^x_i mid i , - rangle$






share|improve this answer











$endgroup$



If we express the action of $O_x$ on the basis $mid i, pm rangle$ instead of $mid i , b rangle$



begineqnarray*
O_x mid i , + rangle = mid i , + rangle\
O_x mid i , - rangle = (-1)^x_i mid i , - rangle\
endeqnarray*



Because we say ancillas must be started and ended with $0$,



begineqnarray*
O_x'' &=& (1 otimes S_x H) O_x (1 otimes H S_x)
endeqnarray*



where the $1 otimes H S_x$ conjugation takes care of turning the ancilla from $0$ to $-$ and back.



Be careful about what $O_x''$ does. It does the desired $(-1)^x_i$ only when the ancilla is in $0$ as it is supposed to be. If the ancilla is in $1$ instead, $O_x''$ acts like the identity.



begineqnarray*
O_x'' mid i , 0 rangle &=& (-1)^x_i mid i, 0 rangle\
O_x'' mid i , 1 rangle &=& mid i, 1 rangle\
endeqnarray*



Solve for $O_x$



begineqnarray*
O_x &=& (1 otimes H S_x) O_x'' (1 otimes S_x H)
endeqnarray*



See what it does on $mid i , + rangle$ and $mid i, - rangle$



begineqnarray*
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, + rangle &=& (1 otimes H S_x) O_x'' mid i, 1 rangle\
&=& (1 otimes H S_x) mid i, 1 rangle\
&=& mid i, + rangle\
(1 otimes H S_x) O_x'' (1 otimes S_x H) mid i, - rangle &=& (1 otimes H S_x) O_x'' mid i, 0 rangle\
&=& (1 otimes H S_x) (-1)^x_i mid i, 0 rangle\
&=& (-1)^x_i mid i , - rangle\
endeqnarray*



This matches with what we wanted for $O_x$ in the first two lines.



Edit:



begineqnarray*
O_x mid i, + rangle &=& O_x frac1sqrt2 (mid i, 0 rangle + mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle + O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle + O_x mid i, 1+x_i rangle)\
&=& mid i, + rangle
endeqnarray*



For the last equality, the two summands either swap or they don't depending on $x_i$. Similarly with -



begineqnarray*
O_x mid i, - rangle &=& O_x frac1sqrt2 (mid i, 0 rangle - mid i, 1 rangle)\
&=& frac1sqrt2 (O_x mid i, 0 rangle - O_x mid i, 1 rangle)\
&=& frac1sqrt2 (mid i, 0+x_i rangle - O_x mid i, 1+x_i rangle)\
endeqnarray*



so if $x_i=0$ there is no swap of terms and the result is $mid i, - rangle$. If $x_i=1$, there is a swap of terms and the result is $- mid i, - rangle$. This can be put together by saying $O_x mid i, - rangle = (-1)^x_i mid i , - rangle$







share|improve this answer














share|improve this answer



share|improve this answer








edited Feb 17 at 14:19

























answered Feb 16 at 18:22









AHusainAHusain

1,9651311




1,9651311











  • $begingroup$
    How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34











  • $begingroup$
    Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
    $endgroup$
    – Karl
    Feb 17 at 11:06











  • $begingroup$
    Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
    $endgroup$
    – Karl
    Feb 17 at 17:29











  • $begingroup$
    You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
    $endgroup$
    – AHusain
    Feb 17 at 17:36
















  • $begingroup$
    How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
    $endgroup$
    – Norbert Schuch
    Feb 16 at 19:34











  • $begingroup$
    Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
    $endgroup$
    – Karl
    Feb 17 at 11:06











  • $begingroup$
    Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
    $endgroup$
    – Karl
    Feb 17 at 17:29











  • $begingroup$
    You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
    $endgroup$
    – AHusain
    Feb 17 at 17:36















$begingroup$
How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
$endgroup$
– Norbert Schuch
Feb 16 at 19:34





$begingroup$
How does this explain how to get from a phase oracle $|xrangle to (-1)^f(x) |xrangle$ back to a normal oracle? Your $O_x$ is quite different!
$endgroup$
– Norbert Schuch
Feb 16 at 19:34













$begingroup$
Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
$endgroup$
– Karl
Feb 17 at 11:06





$begingroup$
Hi. Thanks for your reply. I don't understand how it matches what we expect from $O_x$ because $O_x$ is not supposed to ever multiply $|irangle$ by $-1$.
$endgroup$
– Karl
Feb 17 at 11:06













$begingroup$
Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
$endgroup$
– Karl
Feb 17 at 17:29





$begingroup$
Yes, but what I need instead is $O_x|i,brangle=|i,boplus x_i rangle$. The content of your edit is basically the hypothesis.
$endgroup$
– Karl
Feb 17 at 17:29













$begingroup$
You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
$endgroup$
– AHusain
Feb 17 at 17:36




$begingroup$
You can now see the rest of the answer. It was a this is what we want, write down a formula using O_x" and then check that it did the correct behavior on a basis.
$endgroup$
– AHusain
Feb 17 at 17:36













1












$begingroup$

You are given a quantum circuit for $U$ compiled into the H/CNOT/T gateset. Derive a controlled version of $U$ by adding a control qubit $q$, replacing every H with a controlled H, every CNOT with a CCNOT, and every T with a controlled T. In all cases the new control goes on the $q$.



Recompile the modified gates down into the H/CNOT/T gate set. Prepend and append the circuit with a Hadamard on $q$. You now have a circuit that toggles $q$ when a -1 eigenstate of $U$ is input and leaves $q$ alone when a +1 eigenstate of $U$ is input.



In short:



  • Circuit $C$ implements $(-1)^f(x)$

  • Derive controlled $C$ implementing $(-1)^q cdot f(x)$

  • Switch control basis from Z to X, achieving $q mathreloplus = f(x)$





share|improve this answer









$endgroup$












  • $begingroup$
    Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
    $endgroup$
    – Karl
    Feb 17 at 11:11










  • $begingroup$
    And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
    $endgroup$
    – Karl
    Feb 17 at 13:07






  • 1




    $begingroup$
    @Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
    $endgroup$
    – Craig Gidney
    Feb 17 at 18:04















1












$begingroup$

You are given a quantum circuit for $U$ compiled into the H/CNOT/T gateset. Derive a controlled version of $U$ by adding a control qubit $q$, replacing every H with a controlled H, every CNOT with a CCNOT, and every T with a controlled T. In all cases the new control goes on the $q$.



Recompile the modified gates down into the H/CNOT/T gate set. Prepend and append the circuit with a Hadamard on $q$. You now have a circuit that toggles $q$ when a -1 eigenstate of $U$ is input and leaves $q$ alone when a +1 eigenstate of $U$ is input.



In short:



  • Circuit $C$ implements $(-1)^f(x)$

  • Derive controlled $C$ implementing $(-1)^q cdot f(x)$

  • Switch control basis from Z to X, achieving $q mathreloplus = f(x)$





share|improve this answer









$endgroup$












  • $begingroup$
    Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
    $endgroup$
    – Karl
    Feb 17 at 11:11










  • $begingroup$
    And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
    $endgroup$
    – Karl
    Feb 17 at 13:07






  • 1




    $begingroup$
    @Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
    $endgroup$
    – Craig Gidney
    Feb 17 at 18:04













1












1








1





$begingroup$

You are given a quantum circuit for $U$ compiled into the H/CNOT/T gateset. Derive a controlled version of $U$ by adding a control qubit $q$, replacing every H with a controlled H, every CNOT with a CCNOT, and every T with a controlled T. In all cases the new control goes on the $q$.



Recompile the modified gates down into the H/CNOT/T gate set. Prepend and append the circuit with a Hadamard on $q$. You now have a circuit that toggles $q$ when a -1 eigenstate of $U$ is input and leaves $q$ alone when a +1 eigenstate of $U$ is input.



In short:



  • Circuit $C$ implements $(-1)^f(x)$

  • Derive controlled $C$ implementing $(-1)^q cdot f(x)$

  • Switch control basis from Z to X, achieving $q mathreloplus = f(x)$





share|improve this answer









$endgroup$



You are given a quantum circuit for $U$ compiled into the H/CNOT/T gateset. Derive a controlled version of $U$ by adding a control qubit $q$, replacing every H with a controlled H, every CNOT with a CCNOT, and every T with a controlled T. In all cases the new control goes on the $q$.



Recompile the modified gates down into the H/CNOT/T gate set. Prepend and append the circuit with a Hadamard on $q$. You now have a circuit that toggles $q$ when a -1 eigenstate of $U$ is input and leaves $q$ alone when a +1 eigenstate of $U$ is input.



In short:



  • Circuit $C$ implements $(-1)^f(x)$

  • Derive controlled $C$ implementing $(-1)^q cdot f(x)$

  • Switch control basis from Z to X, achieving $q mathreloplus = f(x)$






share|improve this answer












share|improve this answer



share|improve this answer










answered Feb 16 at 18:32









Craig GidneyCraig Gidney

4,556320




4,556320











  • $begingroup$
    Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
    $endgroup$
    – Karl
    Feb 17 at 11:11










  • $begingroup$
    And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
    $endgroup$
    – Karl
    Feb 17 at 13:07






  • 1




    $begingroup$
    @Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
    $endgroup$
    – Craig Gidney
    Feb 17 at 18:04
















  • $begingroup$
    Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
    $endgroup$
    – Karl
    Feb 17 at 11:11










  • $begingroup$
    And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
    $endgroup$
    – Karl
    Feb 17 at 13:07






  • 1




    $begingroup$
    @Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
    $endgroup$
    – Craig Gidney
    Feb 17 at 18:04















$begingroup$
Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
$endgroup$
– Karl
Feb 17 at 11:11




$begingroup$
Hi and thanks for your reply. Do you think the result is achievable also without using controlled $U$?
$endgroup$
– Karl
Feb 17 at 11:11












$begingroup$
And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
$endgroup$
– Karl
Feb 17 at 13:07




$begingroup$
And also: control basis Z is $|+rangle,|-rangle$ and X is $|0rangle,|1rangle$?
$endgroup$
– Karl
Feb 17 at 13:07




1




1




$begingroup$
@Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
$endgroup$
– Craig Gidney
Feb 17 at 18:04




$begingroup$
@Karl You need the control in order to change the unobservable global phase into an observable relative phase. In practice you won't need to literally control every single operation; there's usually more efficient ways. This is just the simplest way to introduce a control.
$endgroup$
– Craig Gidney
Feb 17 at 18:04

















draft saved

draft discarded
















































Thanks for contributing an answer to Quantum Computing Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fquantumcomputing.stackexchange.com%2fquestions%2f5503%2fequivalent-unitary-transformations%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?