Implement a Hamiltonian in O(n) - exercise question





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{
margin-bottom:0;
}








3














$begingroup$


I have the following exercise to solve:




Consider the Boolean function $f(x_1 . . . x_n) = x_1 oplus dots oplus x_n$
where $x_1 dots x_n$ is an nbit string and $oplus$ denotes addition mod $2$.
Describe a circuit of $2$-qubit gates on $n + 1$ qubits that implements the
transformation $| x_1 dots x_n rangle | 0 rangle mapsto | x_1 dots x_n rangle | x_1 oplus dots oplus x_nrangle$



By considering a relationship between $f$ and the $n$-qubit Hamiltonian
$Z otimes dots otimes Z$, show that $V = exp(i Z otimes dots otimes Z t)$, for any
fixed $t > 0$, may be implemented on n qubit lines (with possible use
of further ancillary lines) by a circuit of size $O(n)$ of $1$- and
$2$-qubit gates.




My circuit for the first part of the question is just $n$ CNOT gates controlled by the first register and acting on the $1$-qubit register. So far so good. However, for the second part of the question, I don't understand the relation to the Hamiltonian. I understand that I could use $H^{otimes n}$ to convert $X$ into $Z$ gates but still.



Any help appreciated.










share|improve this question











$endgroup$























    3














    $begingroup$


    I have the following exercise to solve:




    Consider the Boolean function $f(x_1 . . . x_n) = x_1 oplus dots oplus x_n$
    where $x_1 dots x_n$ is an nbit string and $oplus$ denotes addition mod $2$.
    Describe a circuit of $2$-qubit gates on $n + 1$ qubits that implements the
    transformation $| x_1 dots x_n rangle | 0 rangle mapsto | x_1 dots x_n rangle | x_1 oplus dots oplus x_nrangle$



    By considering a relationship between $f$ and the $n$-qubit Hamiltonian
    $Z otimes dots otimes Z$, show that $V = exp(i Z otimes dots otimes Z t)$, for any
    fixed $t > 0$, may be implemented on n qubit lines (with possible use
    of further ancillary lines) by a circuit of size $O(n)$ of $1$- and
    $2$-qubit gates.




    My circuit for the first part of the question is just $n$ CNOT gates controlled by the first register and acting on the $1$-qubit register. So far so good. However, for the second part of the question, I don't understand the relation to the Hamiltonian. I understand that I could use $H^{otimes n}$ to convert $X$ into $Z$ gates but still.



    Any help appreciated.










    share|improve this question











    $endgroup$



















      3












      3








      3





      $begingroup$


      I have the following exercise to solve:




      Consider the Boolean function $f(x_1 . . . x_n) = x_1 oplus dots oplus x_n$
      where $x_1 dots x_n$ is an nbit string and $oplus$ denotes addition mod $2$.
      Describe a circuit of $2$-qubit gates on $n + 1$ qubits that implements the
      transformation $| x_1 dots x_n rangle | 0 rangle mapsto | x_1 dots x_n rangle | x_1 oplus dots oplus x_nrangle$



      By considering a relationship between $f$ and the $n$-qubit Hamiltonian
      $Z otimes dots otimes Z$, show that $V = exp(i Z otimes dots otimes Z t)$, for any
      fixed $t > 0$, may be implemented on n qubit lines (with possible use
      of further ancillary lines) by a circuit of size $O(n)$ of $1$- and
      $2$-qubit gates.




      My circuit for the first part of the question is just $n$ CNOT gates controlled by the first register and acting on the $1$-qubit register. So far so good. However, for the second part of the question, I don't understand the relation to the Hamiltonian. I understand that I could use $H^{otimes n}$ to convert $X$ into $Z$ gates but still.



      Any help appreciated.










      share|improve this question











      $endgroup$




      I have the following exercise to solve:




      Consider the Boolean function $f(x_1 . . . x_n) = x_1 oplus dots oplus x_n$
      where $x_1 dots x_n$ is an nbit string and $oplus$ denotes addition mod $2$.
      Describe a circuit of $2$-qubit gates on $n + 1$ qubits that implements the
      transformation $| x_1 dots x_n rangle | 0 rangle mapsto | x_1 dots x_n rangle | x_1 oplus dots oplus x_nrangle$



      By considering a relationship between $f$ and the $n$-qubit Hamiltonian
      $Z otimes dots otimes Z$, show that $V = exp(i Z otimes dots otimes Z t)$, for any
      fixed $t > 0$, may be implemented on n qubit lines (with possible use
      of further ancillary lines) by a circuit of size $O(n)$ of $1$- and
      $2$-qubit gates.




      My circuit for the first part of the question is just $n$ CNOT gates controlled by the first register and acting on the $1$-qubit register. So far so good. However, for the second part of the question, I don't understand the relation to the Hamiltonian. I understand that I could use $H^{otimes n}$ to convert $X$ into $Z$ gates but still.



      Any help appreciated.







      algorithm hamiltonian-simulation






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question



      share|improve this question








      edited May 28 at 14:11









      Sanchayan Dutta

      8,2694 gold badges18 silver badges64 bronze badges




      8,2694 gold badges18 silver badges64 bronze badges










      asked May 28 at 8:16









      MarslMarsl

      877 bronze badges




      877 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          5
















          $begingroup$

          Note: I'm deliberately leaving a few gaps here. Hopefully I'm saying enough to let you piece te rest together!



          Let's say that you want to implement $V$ on some state
          $$
          sum_{xin{0,1}^n}alpha_x|xrangle
          $$

          You can fairly easily write down what that state produces. Think about the Hamiltonian $Z^{otimes n}$. What eigenvalues does it have? $lambda=pm 1$. What are the eigenvectors? The computational basis states $|x_1ldots x_nrangle$. So, the output of $V$ is
          $$
          sum_{x:lambda_x=1}alpha_xe^{i t}|xrangle+sum_{x:lambda_x=-1}alpha_xe^{-i t}|xrangle
          $$

          Hence, can you use your function $f$ to determine which eigenvalue a particular $x$ has? How do you then use tha to apply the correct phase for the evolution? Don't forget that if you use an ancilla qubit, you must undo any entanglement you may have created with it.






          share|improve this answer










          $endgroup$















          • $begingroup$
            perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
            $endgroup$
            – Marsl
            May 29 at 9:52










          • $begingroup$
            @Marsl Yes, exactly :)
            $endgroup$
            – DaftWullie
            May 29 at 10:05













          Your Answer








          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/4.0/"u003ecc by-sa 4.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%2f6253%2fimplement-a-hamiltonian-in-on-exercise-question%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown


























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5
















          $begingroup$

          Note: I'm deliberately leaving a few gaps here. Hopefully I'm saying enough to let you piece te rest together!



          Let's say that you want to implement $V$ on some state
          $$
          sum_{xin{0,1}^n}alpha_x|xrangle
          $$

          You can fairly easily write down what that state produces. Think about the Hamiltonian $Z^{otimes n}$. What eigenvalues does it have? $lambda=pm 1$. What are the eigenvectors? The computational basis states $|x_1ldots x_nrangle$. So, the output of $V$ is
          $$
          sum_{x:lambda_x=1}alpha_xe^{i t}|xrangle+sum_{x:lambda_x=-1}alpha_xe^{-i t}|xrangle
          $$

          Hence, can you use your function $f$ to determine which eigenvalue a particular $x$ has? How do you then use tha to apply the correct phase for the evolution? Don't forget that if you use an ancilla qubit, you must undo any entanglement you may have created with it.






          share|improve this answer










          $endgroup$















          • $begingroup$
            perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
            $endgroup$
            – Marsl
            May 29 at 9:52










          • $begingroup$
            @Marsl Yes, exactly :)
            $endgroup$
            – DaftWullie
            May 29 at 10:05
















          5
















          $begingroup$

          Note: I'm deliberately leaving a few gaps here. Hopefully I'm saying enough to let you piece te rest together!



          Let's say that you want to implement $V$ on some state
          $$
          sum_{xin{0,1}^n}alpha_x|xrangle
          $$

          You can fairly easily write down what that state produces. Think about the Hamiltonian $Z^{otimes n}$. What eigenvalues does it have? $lambda=pm 1$. What are the eigenvectors? The computational basis states $|x_1ldots x_nrangle$. So, the output of $V$ is
          $$
          sum_{x:lambda_x=1}alpha_xe^{i t}|xrangle+sum_{x:lambda_x=-1}alpha_xe^{-i t}|xrangle
          $$

          Hence, can you use your function $f$ to determine which eigenvalue a particular $x$ has? How do you then use tha to apply the correct phase for the evolution? Don't forget that if you use an ancilla qubit, you must undo any entanglement you may have created with it.






          share|improve this answer










          $endgroup$















          • $begingroup$
            perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
            $endgroup$
            – Marsl
            May 29 at 9:52










          • $begingroup$
            @Marsl Yes, exactly :)
            $endgroup$
            – DaftWullie
            May 29 at 10:05














          5














          5










          5







          $begingroup$

          Note: I'm deliberately leaving a few gaps here. Hopefully I'm saying enough to let you piece te rest together!



          Let's say that you want to implement $V$ on some state
          $$
          sum_{xin{0,1}^n}alpha_x|xrangle
          $$

          You can fairly easily write down what that state produces. Think about the Hamiltonian $Z^{otimes n}$. What eigenvalues does it have? $lambda=pm 1$. What are the eigenvectors? The computational basis states $|x_1ldots x_nrangle$. So, the output of $V$ is
          $$
          sum_{x:lambda_x=1}alpha_xe^{i t}|xrangle+sum_{x:lambda_x=-1}alpha_xe^{-i t}|xrangle
          $$

          Hence, can you use your function $f$ to determine which eigenvalue a particular $x$ has? How do you then use tha to apply the correct phase for the evolution? Don't forget that if you use an ancilla qubit, you must undo any entanglement you may have created with it.






          share|improve this answer










          $endgroup$



          Note: I'm deliberately leaving a few gaps here. Hopefully I'm saying enough to let you piece te rest together!



          Let's say that you want to implement $V$ on some state
          $$
          sum_{xin{0,1}^n}alpha_x|xrangle
          $$

          You can fairly easily write down what that state produces. Think about the Hamiltonian $Z^{otimes n}$. What eigenvalues does it have? $lambda=pm 1$. What are the eigenvectors? The computational basis states $|x_1ldots x_nrangle$. So, the output of $V$ is
          $$
          sum_{x:lambda_x=1}alpha_xe^{i t}|xrangle+sum_{x:lambda_x=-1}alpha_xe^{-i t}|xrangle
          $$

          Hence, can you use your function $f$ to determine which eigenvalue a particular $x$ has? How do you then use tha to apply the correct phase for the evolution? Don't forget that if you use an ancilla qubit, you must undo any entanglement you may have created with it.







          share|improve this answer













          share|improve this answer




          share|improve this answer



          share|improve this answer










          answered May 28 at 10:13









          DaftWullieDaftWullie

          21k1 gold badge9 silver badges53 bronze badges




          21k1 gold badge9 silver badges53 bronze badges















          • $begingroup$
            perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
            $endgroup$
            – Marsl
            May 29 at 9:52










          • $begingroup$
            @Marsl Yes, exactly :)
            $endgroup$
            – DaftWullie
            May 29 at 10:05


















          • $begingroup$
            perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
            $endgroup$
            – Marsl
            May 29 at 9:52










          • $begingroup$
            @Marsl Yes, exactly :)
            $endgroup$
            – DaftWullie
            May 29 at 10:05
















          $begingroup$
          perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
          $endgroup$
          – Marsl
          May 29 at 9:52




          $begingroup$
          perfect explanation, got it thanks, I just use my function to compute whether I have even or odd number of say 1 bits in my state, store this information in an ancilla qubit by the circuit of CX gates, then apply a phase gate to the ancilla, then I undo the first computation by applying the CNOT gates in reverse order (CNOT$^-1=$CNOT) and then I discard the ancilla, but the phase remains on my state?!
          $endgroup$
          – Marsl
          May 29 at 9:52












          $begingroup$
          @Marsl Yes, exactly :)
          $endgroup$
          – DaftWullie
          May 29 at 10:05




          $begingroup$
          @Marsl Yes, exactly :)
          $endgroup$
          – DaftWullie
          May 29 at 10:05



















          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%2f6253%2fimplement-a-hamiltonian-in-on-exercise-question%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

          He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

          Bunad

          Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum