<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jqis</journal-id>
      <journal-title-group>
        <journal-title>Journal of Quantum Information Science</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2162-576X</issn>
      <issn pub-type="ppub">2162-5751</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jqis.2025.154012</article-id>
      <article-id pub-id-type="publisher-id">jqis-148092</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Physics</subject>
          <subject>Mathematics</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>An Improved Quantum Search Algorithm</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Mitra</surname>
            <given-names>Amrita</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Bangalore, India </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The author declares no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>10</month>
        <year>2025</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>10</month>
        <year>2025</year>
      </pub-date>
      <volume>15</volume>
      <issue>04</issue>
      <fpage>208</fpage>
      <lpage>215</lpage>
      <history>
        <date date-type="received">
          <day>07</day>
          <month>11</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>16</day>
          <month>12</month>
          <year>2025</year>
        </date>
        <date date-type="published">
          <day>19</day>
          <month>12</month>
          <year>2025</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2025 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2025</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jqis.2025.154012">https://doi.org/10.4236/jqis.2025.154012</self-uri>
      <abstract>
        <p>If we have to search an unsorted database or solve an unstructured search problem, we can use a quantum search algorithm [<xref ref-type="bibr" rid="B1">1</xref>]. As of now, a quantum search algorithm like Grover’s algorithm [2] takes <inline-formula><mml:math></mml:math></inline-formula></p>
        <p>Ω(</p>
        <p>N</p>
        <p>)</p>
        <p>time, where <italic>N</italic> is the size of the search space. This paper proposes an improved quantum search algorithm that yields the correct result in constant time with a high probability.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Quantum Algorithm</kwd>
        <kwd>Quantum Search</kwd>
        <kwd>Quantum Computing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>Let’s say <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mo> : </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mi> N </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow><mml:mo> → </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is a function. In the case of an unstructured database, the domain of the function represents the indices of the database. <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> can be 0 or 1. <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> indicates that <inline-formula><mml:math><mml:mi> x </mml:mi></mml:math></inline-formula> points to one index of the database that contains the element that satisfies the search criteria. In all other cases, <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> . Our purpose is to find the index <inline-formula><mml:math><mml:mi> x </mml:mi></mml:math></inline-formula> for which <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> .</p>
    </sec>
    <sec id="sec2">
      <title>2. The Proposed Quantum Algorithm</title>
      <p>Let’s say <italic>N</italic> is the size of the search space. Let’s also assume that <inline-formula><mml:math><mml:mrow><mml:mi> n </mml:mi><mml:mo> = </mml:mo><mml:mrow><mml:mo> ⌈ </mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi> log </mml:mi></mml:mrow><mml:mn> 2 </mml:mn></mml:msub><mml:mi> N </mml:mi></mml:mrow><mml:mo> ⌉ </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . Therefore, the binary representation of an index needs a maximum <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits.</p>
      <p>For our proposed algorithm, we can use the quantum circuit as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits contain all zeros. And the ancillary qubit contains a 1. A Hadamard gate is applied to the first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits. A Hadamard gate is also applied to the ancillary qubit. We get the following state as a result:</p>
      <disp-formula id="FD1">
        <label>(1)</label>
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>ψ</mml:mi>
                  <mml:mn>1</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:munderover>
              <mml:mstyle mathsize="140%" displaystyle="true">
                <mml:mo>∑</mml:mo>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:munderover>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mi>x</mml:mi>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mn>2</mml:mn>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/1300498-rId39.jpeg?20251219031406" />
      </fig>
      <p>Figure 1. Quantum circuit for the proposed quantum algorithm.</p>
      <p>In our proposed algorithm, we use an oracle <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> U </mml:mi><mml:mi> f </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> . If <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mi> x </mml:mi><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is given as input and <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mi> y </mml:mi><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the ancillary qubit, then we get the following state on querying the oracle: </p>
      <disp-formula id="FD2">
        <label>(2)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:munderover>
              <mml:mstyle mathsize="140%" displaystyle="true">
                <mml:mo>∑</mml:mo>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:munderover>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mi>x</mml:mi>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:mi>y</mml:mi>
                <mml:mo>⊕</mml:mo>
                <mml:mi>f</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p><inline-formula><mml:math><mml:mo> ⊕ </mml:mo></mml:math></inline-formula> is the addition modulo 2 operator. In our case, the ancillary qubit is 1, and one Hadamard gate is applied to it. Therefore, on querying the oracle <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> U </mml:mi><mml:mi> f </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , we get the following state [<xref ref-type="bibr" rid="B3">3</xref>]:</p>
      <disp-formula id="FD3">
        <label>(3)</label>
        <mml:math>
          <mml:mtable>
            <mml:mtr>
              <mml:mtd>
                <mml:mrow>
                  <mml:mo>|</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>ψ</mml:mi>
                      <mml:mn>2</mml:mn>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>〉</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mi>N</mml:mi>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
                <mml:munderover>
                  <mml:mstyle mathsize="140%" displaystyle="true">
                    <mml:mo>∑</mml:mo>
                  </mml:mstyle>
                  <mml:mrow>
                    <mml:mi>x</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>0</mml:mn>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                </mml:munderover>
                <mml:mrow>
                  <mml:mo>|</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>〉</mml:mo>
                </mml:mrow>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>0</mml:mn>
                        <mml:mo>⊕</mml:mo>
                        <mml:mi>f</mml:mi>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mn>0</mml:mn>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo>⊕</mml:mo>
                        <mml:mi>f</mml:mi>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mn>1</mml:mn>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mn>2</mml:mn>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mi>N</mml:mi>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
                <mml:munderover>
                  <mml:mstyle mathsize="140%" displaystyle="true">
                    <mml:mo>∑</mml:mo>
                  </mml:mstyle>
                  <mml:mrow>
                    <mml:mi>x</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>0</mml:mn>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                </mml:munderover>
                <mml:msup>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mi>f</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mi>x</mml:mi>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:msup>
                <mml:mrow>
                  <mml:mo>|</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>〉</mml:mo>
                </mml:mrow>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>0</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>1</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mn>2</mml:mn>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <p>For example, if <inline-formula><mml:math><mml:mrow><mml:mi> N </mml:mi><mml:mo> = </mml:mo><mml:mn> 4 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> n </mml:mi><mml:mo> = </mml:mo><mml:msub><mml:mrow><mml:mi> log </mml:mi></mml:mrow><mml:mn> 2 </mml:mn></mml:msub><mml:mi> N </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> . In that case, the state <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:msub><mml:mi> ψ </mml:mi><mml:mn> 1 </mml:mn></mml:msub></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is going to be the following:</p>
      <disp-formula id="FD4">
        <label>(4)</label>
        <mml:math>
          <mml:mtable>
            <mml:mtr>
              <mml:mtd>
                <mml:mrow>
                  <mml:mo>|</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>ψ</mml:mi>
                      <mml:mn>1</mml:mn>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>〉</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mi>N</mml:mi>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
                <mml:munderover>
                  <mml:mstyle mathsize="140%" displaystyle="true">
                    <mml:mo>∑</mml:mo>
                  </mml:mstyle>
                  <mml:mrow>
                    <mml:mi>x</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>0</mml:mn>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                </mml:munderover>
                <mml:mrow>
                  <mml:mo>|</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>〉</mml:mo>
                </mml:mrow>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>0</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>1</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mn>2</mml:mn>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mrow>
                            <mml:mn>00</mml:mn>
                          </mml:mrow>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mrow>
                            <mml:mn>01</mml:mn>
                          </mml:mrow>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mrow>
                            <mml:mn>10</mml:mn>
                          </mml:mrow>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mrow>
                            <mml:mn>11</mml:mn>
                          </mml:mrow>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>0</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mn>1</mml:mn>
                          <mml:mo>〉</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mn>2</mml:mn>
                    <mml:msqrt>
                      <mml:mn>2</mml:mn>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <p>After querying the oracle, we will get the following state:</p>
      <disp-formula id="FD5">
        <label>(5)</label>
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>ψ</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
            <mml:munderover>
              <mml:mstyle mathsize="140%" displaystyle="true">
                <mml:mo>∑</mml:mo>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mn>3</mml:mn>
            </mml:munderover>
            <mml:msup>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>f</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
            </mml:msup>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mi>x</mml:mi>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mn>2</mml:mn>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Let’s consider <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> when <inline-formula><mml:math><mml:mrow><mml:mi> x </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> . And in all other cases, <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> . Therefore, the state <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:msub><mml:mi> ψ </mml:mi><mml:mn> 2 </mml:mn></mml:msub></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is going to be the following in this case:</p>
      <disp-formula id="FD6">
        <label>(6)</label>
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>ψ</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>00</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>01</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>10</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>11</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
            <mml:mo>×</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mn>2</mml:mn>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, the first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits after querying the oracle are the following:</p>
      <disp-formula id="FD7">
        <label>(7)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>00</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>01</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>10</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>11</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>We can now apply a quantum gate <italic>G</italic> on this state, so that the output of this gate <italic>G</italic> is <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:mn> 00 </mml:mn></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . Please note that in our example, <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> when <inline-formula><mml:math><mml:mrow><mml:mi> x </mml:mi><mml:mo> = </mml:mo><mml:mn> 00 </mml:mn></mml:mrow></mml:math></inline-formula> . For any other value of <inline-formula><mml:math><mml:mi> x </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> .</p>
      <disp-formula id="FD8">
        <label>(8)</label>
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>ψ</mml:mi>
                  <mml:mn>3</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:mn>00</mml:mn>
              </mml:mrow>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>If we measure <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:msub><mml:mi> ψ </mml:mi><mml:mn> 3 </mml:mn></mml:msub></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , we will get the index in the unsorted database that points to the entry that satisfies the search criteria.</p>
    </sec>
    <sec id="sec3">
      <title>3. Implementation of the Quantum Gate G</title>
      <p>Let’s say <italic>M</italic> is a unitary matrix that implements the quantum gate <italic>G</italic>. In this section, we will attempt to determine the unitary matrix <italic>M</italic>.</p>
      <p>Let’s say <italic>N</italic> is the size of the search space. The indices in the unstructured database are <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mi> N </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> . It will take <inline-formula><mml:math><mml:mrow><mml:mi> n </mml:mi><mml:mo> = </mml:mo><mml:mrow><mml:mo> ⌈ </mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi> log </mml:mi></mml:mrow><mml:mn> 2 </mml:mn></mml:msub><mml:mi> N </mml:mi></mml:mrow><mml:mo> ⌉ </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> qubits to represent these <italic>N</italic> indices. </p>
      <p>Let the indices in the unstructured database be <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mn> 1 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mrow><mml:mi> N </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> . And let the corresponding values of <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> be <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> y </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> y </mml:mi><mml:mn> 1 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> y </mml:mi><mml:mrow><mml:mi> N </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> .</p>
      <p>For example, in our example, the binary indices in the unstructured database are <inline-formula><mml:math><mml:mrow><mml:mn> 00 </mml:mn><mml:mo> , </mml:mo><mml:mn> 01 </mml:mn><mml:mo> , </mml:mo><mml:mn> 10 </mml:mn><mml:mo> , </mml:mo><mml:mn> 11 </mml:mn></mml:mrow></mml:math></inline-formula> . The corresponding values of <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> are the following:</p>
      <disp-formula id="FD9">
        <mml:math>
          <mml:mrow>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>00</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD10">
        <mml:math>
          <mml:mrow>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>01</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>0</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD11">
        <mml:math>
          <mml:mrow>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>10</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>0</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD12">
        <mml:math>
          <mml:mrow>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>11</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>0</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>This indicates the value pointed to by the binary index <inline-formula><mml:math><mml:mrow><mml:mn> 00 </mml:mn></mml:mrow></mml:math></inline-formula> satisfies the search criteria, and all other values do not. As a result, the first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits after querying the oracle are the following:</p>
      <disp-formula id="FD13">
        <label>(9)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>00</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>01</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>10</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>11</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>We want the output of the quantum gate G to be <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:mn> 00 </mml:mn></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> .</p>
      <p>Let’s say the column vector <italic>X</italic> represents the first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits after querying the oracle. </p>
      <disp-formula id="FD14">
        <label>(10)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mtable>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mtable>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mn>0</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mn>1</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                </mml:mtable>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mo>⋮</mml:mo>
                            </mml:mtd>
                          </mml:mtr>
                        </mml:mtable>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>N</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>In our example, <italic>X</italic> represents the following state:</p>
      <disp-formula id="FD15">
        <label>(11)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>00</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>01</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>10</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mn>11</mml:mn>
                      </mml:mrow>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, in our example, </p>
      <disp-formula id="FD16">
        <label>(12)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mtable>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mtable>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mn>0</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mn>1</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                </mml:mtable>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mo>⋮</mml:mo>
                            </mml:mtd>
                          </mml:mtr>
                        </mml:mtable>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>N</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mtable>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mtable>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mn>1</mml:mn>
                                    </mml:mtd>
                                  </mml:mtr>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:mo>−</mml:mo>
                                        <mml:mn>1</mml:mn>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                </mml:mtable>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                        </mml:mtable>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Let the column vector <italic>Y</italic> represent the expected output.</p>
      <disp-formula id="FD17">
        <label>(13)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>Y</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mtable>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mtable>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>y</mml:mi>
                                          <mml:mn>0</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>y</mml:mi>
                                          <mml:mn>1</mml:mn>
                                        </mml:msub>
                                      </mml:mrow>
                                    </mml:mtd>
                                  </mml:mtr>
                                </mml:mtable>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mo>⋮</mml:mo>
                            </mml:mtd>
                          </mml:mtr>
                        </mml:mtable>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>y</mml:mi>
                          <mml:mrow>
                            <mml:mi>N</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>For example, in our example, the expected output is <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mrow><mml:mn> 00 </mml:mn></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . Therefore, <italic>Y</italic> is the following column vector.</p>
      <disp-formula id="FD18">
        <label>(14)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>Y</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mtable>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mrow>
                                <mml:mtable>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mn>1</mml:mn>
                                    </mml:mtd>
                                  </mml:mtr>
                                  <mml:mtr>
                                    <mml:mtd>
                                      <mml:mn>0</mml:mn>
                                    </mml:mtd>
                                  </mml:mtr>
                                </mml:mtable>
                              </mml:mrow>
                            </mml:mtd>
                          </mml:mtr>
                          <mml:mtr>
                            <mml:mtd>
                              <mml:mn>0</mml:mn>
                            </mml:mtd>
                          </mml:mtr>
                        </mml:mtable>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>In other words, the unitary matrix <italic>M</italic> is applied to <italic>X</italic>, and we get the output <italic>Y</italic>.</p>
      <disp-formula id="FD19">
        <label>(15)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>Y</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, if we assume <inline-formula><mml:math><mml:mrow><mml:mi> g </mml:mi><mml:mo> : </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow><mml:mo> → </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> to be a function that takes each element of <italic>X</italic> as input and gives the corresponding element of <italic>Y</italic> as output, then the following holds true:</p>
      <disp-formula id="FD20">
        <mml:math>
          <mml:mrow>
            <mml:mi>g</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>0</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD21">
        <mml:math>
          <mml:mrow>
            <mml:mi>g</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mn>0</mml:mn>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mo>−</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD22">
        <mml:math>
          <mml:mrow>
            <mml:mi>g</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore,</p>
      <disp-formula id="FD23">
        <label>(16)</label>
        <mml:math display="inline">
          <mml:mtable columnalign="left">
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>When</mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mi>x</mml:mi>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mn>0</mml:mn>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>When</mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mi>x</mml:mi>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>When</mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>1</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mi>x</mml:mi>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>g</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mn>1</mml:mn>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <p>Therefore, <inline-formula><mml:math><mml:mi> g </mml:mi></mml:math></inline-formula> is a function for which <inline-formula><mml:math><mml:mrow><mml:mi> g </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> g </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mi> x </mml:mi></mml:mrow></mml:math></inline-formula> . Therefore, <inline-formula><mml:math><mml:mi> g </mml:mi></mml:math></inline-formula> is an involution function. And the corresponding matrix <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an involutory matrix.</p>
    </sec>
    <sec id="sec4">
      <title>
        4. Properties of Matrix
        <italic>M</italic>
      </title>
      <p><bold>Property 1</bold>: <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is a unitary matrix.</p>
      <p>As <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> implements a quantum gate, <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> must be a unitary matrix [<xref ref-type="bibr" rid="B4">4</xref>]. For a unitary matrix <italic>U</italic>, the following holds true:</p>
      <disp-formula id="FD24">
        <label>(17)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>U</mml:mi>
              <mml:mtext>*</mml:mtext>
            </mml:msup>
            <mml:mi>U</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>U</mml:mi>
            <mml:msup>
              <mml:mi>U</mml:mi>
              <mml:mtext>*</mml:mtext>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>In our case, <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is a real matrix. Therefore,</p>
      <disp-formula id="FD25">
        <label>(18)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p><bold>Property 2</bold>: <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an involutory matrix.</p>
      <p>As <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an involutory matrix, we can write the following:</p>
      <disp-formula id="FD26">
        <label>(19)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore,</p>
      <disp-formula id="FD27">
        <label>(20)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p><bold>Property 3</bold>: <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an orthogonal matrix.</p>
      <p>As <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is a unitary matrix and an involutory matrix, we can write the following:</p>
      <disp-formula id="FD28">
        <label>(21)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, </p>
      <disp-formula id="FD29">
        <label>(22)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an orthogonal matrix.</p>
      <p><bold>Property 4</bold>: <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is a symmetric matrix.</p>
      <p>As <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an orthogonal matrix, we can write the following: </p>
      <disp-formula id="FD30">
        <label>(23)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD31">
        <label>(24)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>As <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is an involutory matrix, we can write the following: </p>
      <disp-formula id="FD32">
        <label>(25)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore,</p>
      <disp-formula id="FD33">
        <label>(26)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> is a symmetric matrix.</p>
      <p>Based on the above properties, we will look for the value of the matrix <italic>M</italic> that is as close to <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> X </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> as possible. As the value of <italic>M</italic> is not equal to <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> X </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for all values of <italic>N</italic>, the value of <italic>M</italic> is going to introduce an error term. We will discuss the error term in Section 6. </p>
    </sec>
    <sec id="sec5">
      <title>
        5. Finding the Value of
        <italic>M</italic>
      </title>
      <p>Ideally, we are looking for a matrix <italic>M</italic> for which the following condition holds true:</p>
      <disp-formula id="FD34">
        <label>(27)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋱</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD35">
        <label>(28)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>Y</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋱</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>0</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD36">
        <label>(29)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, <italic>M</italic> should be equal to <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> X </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> . However, <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> X </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> may not be a unitary matrix for all values of <italic>N</italic>. Therefore, we will try to find a unitary matrix <italic>M</italic> such that <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:mi> X </mml:mi></mml:mrow></mml:math></inline-formula> is as close to <inline-formula><mml:math><mml:mi> I </mml:mi></mml:math></inline-formula> as possible.</p>
      <p>Let’s say,</p>
      <disp-formula id="FD37">
        <label>(30)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>X</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>+</mml:mo>
            <mml:mi>E</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD38">
        <label>(31)</label>
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:msup>
                  <mml:mi>X</mml:mi>
                  <mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                </mml:msup>
                <mml:mo>+</mml:mo>
                <mml:mi>E</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
            <mml:mo>+</mml:mo>
            <mml:mi>E</mml:mi>
            <mml:mi>X</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>This <inline-formula><mml:math><mml:mrow><mml:mi> E </mml:mi><mml:mi> X </mml:mi></mml:mrow></mml:math></inline-formula> is the error term.</p>
      <p>Therefore, we will look for an <inline-formula><mml:math><mml:mrow><mml:mi> N </mml:mi><mml:mo> × </mml:mo><mml:mi> N </mml:mi></mml:mrow></mml:math></inline-formula> matrix <italic>M</italic> for which the following conditions hold true:</p>
      <p>1) <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:msup><mml:mi> M </mml:mi><mml:mtext> T </mml:mtext></mml:msup><mml:mo> = </mml:mo><mml:msup><mml:mi> M </mml:mi><mml:mtext> T </mml:mtext></mml:msup><mml:mi> M </mml:mi><mml:mo> = </mml:mo><mml:mi> I </mml:mi></mml:mrow></mml:math></inline-formula> .</p>
      <p>2) <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:msup><mml:mi> M </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup><mml:mo> = </mml:mo><mml:msup><mml:mi> M </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup><mml:mi> M </mml:mi><mml:mo> = </mml:mo><mml:mi> I </mml:mi></mml:mrow></mml:math></inline-formula> .</p>
      <p>3) <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> M </mml:mi><mml:mtext> T </mml:mtext></mml:msup><mml:mo> = </mml:mo><mml:msup><mml:mi> M </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> .</p>
      <p>4) <inline-formula><mml:math><mml:mrow><mml:mi> det </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> M </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mo> ± </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> as <italic>M</italic> is involutory.</p>
      <p>5) <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> M </mml:mi><mml:mn> 2 </mml:mn></mml:msup><mml:mo> = </mml:mo><mml:mi> I </mml:mi></mml:mrow></mml:math></inline-formula> .</p>
      <p>6) The error term <italic>EX</italic> is minimum.</p>
      <p>We observe the following:</p>
      <disp-formula id="FD39">
        <label>(32)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD40">
        <label>(33)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>J</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>[</mml:mo>
                  <mml:mrow>
                    <mml:mtable>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋯</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mo>⋮</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋱</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋮</mml:mo>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋯</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                      </mml:mtr>
                    </mml:mtable>
                  </mml:mrow>
                  <mml:mo>]</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>×</mml:mo>
                <mml:mi>N</mml:mi>
              </mml:mrow>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Using the Sherman-Morrison formula [<xref ref-type="bibr" rid="B5">5</xref>], we get the following:</p>
      <disp-formula id="FD41">
        <label>(34)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>X</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:mfrac>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>4</mml:mn>
              </mml:mrow>
            </mml:mfrac>
            <mml:mi>J</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Let’s say <italic>M</italic> is the following matrix:</p>
      <disp-formula id="FD42">
        <label>(35)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>1</mml:mn>
            </mml:msub>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msub>
            <mml:mi>J</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Using the Sherman-Morrison formula, we get the following:</p>
      <disp-formula id="FD43">
        <label>(36)</label>
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>k</mml:mi>
                  <mml:mn>1</mml:mn>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>k</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msubsup>
                  <mml:mi>k</mml:mi>
                  <mml:mn>1</mml:mn>
                  <mml:mn>2</mml:mn>
                </mml:msubsup>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>1</mml:mn>
                    </mml:msub>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>2</mml:mn>
                    </mml:msub>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
            </mml:mfrac>
            <mml:mi>J</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>As <italic>M</italic> is a symmetric, unitary, and involutory matrix, we get the following:</p>
      <disp-formula id="FD44">
        <mml:math>
          <mml:mrow>
            <mml:msup>
              <mml:mi>M</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD45">
        <label>(37)</label>
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>k</mml:mi>
                  <mml:mn>1</mml:mn>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>k</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msubsup>
                  <mml:mi>k</mml:mi>
                  <mml:mn>1</mml:mn>
                  <mml:mn>2</mml:mn>
                </mml:msubsup>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>1</mml:mn>
                    </mml:msub>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>2</mml:mn>
                    </mml:msub>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
            </mml:mfrac>
            <mml:mi>J</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>1</mml:mn>
            </mml:msub>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msub>
            <mml:mi>J</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>By comparing both sides, we get the following:</p>
      <disp-formula id="FD46">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>1</mml:mn>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD47">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>k</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msubsup>
                  <mml:mi>k</mml:mi>
                  <mml:mn>1</mml:mn>
                  <mml:mn>2</mml:mn>
                </mml:msubsup>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>1</mml:mn>
                    </mml:msub>
                    <mml:msub>
                      <mml:mi>k</mml:mi>
                      <mml:mn>2</mml:mn>
                    </mml:msub>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD48">
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>2</mml:mn>
              <mml:mi>N</mml:mi>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD49">
        <label>(38)</label>
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>1</mml:mn>
            </mml:msub>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:msub>
              <mml:mi>k</mml:mi>
              <mml:mn>2</mml:mn>
            </mml:msub>
            <mml:mi>J</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>I</mml:mi>
            <mml:mo>−</mml:mo>
            <mml:mfrac>
              <mml:mn>2</mml:mn>
              <mml:mi>N</mml:mi>
            </mml:mfrac>
            <mml:mi>J</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Here, <inline-formula><mml:math><mml:mi> I </mml:mi></mml:math></inline-formula> is the identity matrix, and <inline-formula><mml:math><mml:mi> J </mml:mi></mml:math></inline-formula> is a matrix with all entries equal to 1. Therefore, the diagonal entries of the matrix <italic>M</italic> are <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> − </mml:mo><mml:mfrac><mml:mn> 2 </mml:mn><mml:mi> N </mml:mi></mml:mfrac></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and the non-diagonal entries of <italic>M</italic> are <inline-formula><mml:math><mml:mrow><mml:mo> − </mml:mo><mml:mfrac><mml:mn> 2 </mml:mn><mml:mi> N </mml:mi></mml:mfrac></mml:mrow></mml:math></inline-formula> . Given the value of <italic>N</italic>, these values can be computed in <italic>O</italic>(1) time. The value of <italic>M</italic> does not depend on a specific input.</p>
    </sec>
    <sec id="sec6">
      <title>6. The Error Term</title>
      <p>As we discussed, the error term is <inline-formula><mml:math><mml:mrow><mml:mi> E </mml:mi><mml:mi> X </mml:mi></mml:mrow></mml:math></inline-formula> . We observe the following:</p>
      <disp-formula id="FD50">
        <mml:math>
          <mml:mrow>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>[</mml:mo>
              <mml:mrow>
                <mml:mtable>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋱</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋮</mml:mo>
                    </mml:mtd>
                  </mml:mtr>
                  <mml:mtr>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mo>⋯</mml:mo>
                    </mml:mtd>
                    <mml:mtd>
                      <mml:mn>1</mml:mn>
                    </mml:mtd>
                  </mml:mtr>
                </mml:mtable>
              </mml:mrow>
              <mml:mo>]</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD51">
        <mml:math>
          <mml:mrow>
            <mml:mi>J</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>[</mml:mo>
                  <mml:mrow>
                    <mml:mtable>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋯</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mo>⋮</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋱</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋮</mml:mo>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mo>⋯</mml:mo>
                        </mml:mtd>
                        <mml:mtd>
                          <mml:mn>1</mml:mn>
                        </mml:mtd>
                      </mml:mtr>
                    </mml:mtable>
                  </mml:mrow>
                  <mml:mo>]</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>×</mml:mo>
                <mml:mi>N</mml:mi>
              </mml:mrow>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD52">
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mi>X</mml:mi>
              <mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msup>
            <mml:mo>+</mml:mo>
            <mml:mi>E</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD53">
        <mml:math>
          <mml:mtable columnalign="left">
            <mml:mtr>
              <mml:mtd>
                <mml:mo>∴</mml:mo>
                <mml:mi>E</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>M</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:msup>
                      <mml:mi>X</mml:mi>
                      <mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mo>=</mml:mo>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mfrac>
                  <mml:mn>2</mml:mn>
                  <mml:mi>N</mml:mi>
                </mml:mfrac>
                <mml:mi>J</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:mfrac>
                    <mml:mi>I</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mrow>
                        <mml:mn>2</mml:mn>
                        <mml:mi>N</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>4</mml:mn>
                      </mml:mrow>
                    </mml:mfrac>
                    <mml:mi>J</mml:mi>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mn>1</mml:mn>
                    <mml:mo>−</mml:mo>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:mfrac>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mfrac>
                      <mml:mn>2</mml:mn>
                      <mml:mi>N</mml:mi>
                    </mml:mfrac>
                    <mml:mo>−</mml:mo>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mrow>
                        <mml:mn>2</mml:mn>
                        <mml:mi>N</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>4</mml:mn>
                      </mml:mrow>
                    </mml:mfrac>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mi>J</mml:mi>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD54">
        <label>(39)</label>
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:mi>E</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mn>1</mml:mn>
                    <mml:mo>−</mml:mo>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:mfrac>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mfrac>
                      <mml:mn>2</mml:mn>
                      <mml:mi>N</mml:mi>
                    </mml:mfrac>
                    <mml:mo>−</mml:mo>
                    <mml:mfrac>
                      <mml:mrow>
                        <mml:msqrt>
                          <mml:mi>N</mml:mi>
                        </mml:msqrt>
                      </mml:mrow>
                      <mml:mrow>
                        <mml:mn>2</mml:mn>
                        <mml:mi>N</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>4</mml:mn>
                      </mml:mrow>
                    </mml:mfrac>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
    </sec>
    <sec id="sec7">
      <title>7. Results</title>
      <p>Let’s say <inline-formula><mml:math><mml:mi> N </mml:mi></mml:math></inline-formula> is the search space. <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> is the required number of qubits.</p>
      <disp-formula id="FD55">
        <mml:math>
          <mml:mrow>
            <mml:mo>∴</mml:mo>
            <mml:mi>N</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mn>2</mml:mn>
              <mml:mi>n</mml:mi>
            </mml:msup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>If we calculate the values of <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:mo> , </mml:mo><mml:mi> X </mml:mi><mml:mo> , </mml:mo><mml:msup><mml:mi> X </mml:mi><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msup><mml:mo> , </mml:mo><mml:mi> E </mml:mi></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:mi> E </mml:mi><mml:mi> X </mml:mi></mml:mrow></mml:math></inline-formula> for different values of <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> , and take the determinant of the error matrix <inline-formula><mml:math><mml:mrow><mml:mi> E </mml:mi><mml:mi> X </mml:mi></mml:mrow></mml:math></inline-formula> , we get the following <bold>Table 1</bold>:</p>
      <p>Table 1. Determinant of the error term.</p>
      <table-wrap id="tbl1">
        <label>Table 1</label>
        <table>
          <tbody>
            <tr>
              <td>
                <italic>n</italic>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:mi>N</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:msup>
                        <mml:mn>2</mml:mn>
                        <mml:mi>n</mml:mi>
                      </mml:msup>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:mtext>det</mml:mtext>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mi>E</mml:mi>
                          <mml:mi>X</mml:mi>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
            </tr>
            <tr>
              <td>3</td>
              <td>8</td>
              <td>−0.00020734564555665073</td>
            </tr>
            <tr>
              <td>4</td>
              <td>16</td>
              <td>−7.629394531249957e−05</td>
            </tr>
            <tr>
              <td>5</td>
              <td>32</td>
              <td>−5.758564428031929e−06</td>
            </tr>
            <tr>
              <td>6</td>
              <td>64</td>
              <td>−9.081620849843095e−08</td>
            </tr>
            <tr>
              <td>7</td>
              <td>128</td>
              <td>−1.89081434676154e−10</td>
            </tr>
            <tr>
              <td>8</td>
              <td>256</td>
              <td>−2.4238765388563638e−14</td>
            </tr>
            <tr>
              <td>9</td>
              <td>512</td>
              <td>−6.252713627319217e−20</td>
            </tr>
            <tr>
              <td>10</td>
              <td>1024</td>
              <td>−6.562978374539346e−28</td>
            </tr>
            <tr>
              <td>11</td>
              <td>2048</td>
              <td>−2.8990010884419623e−39</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>Please note that the output matrix <italic>Y</italic> is the following:</p>
      <disp-formula id="FD56">
        <label>(40)</label>
        <mml:math>
          <mml:mrow>
            <mml:mi>Y</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mfrac>
                  <mml:mn>2</mml:mn>
                  <mml:mi>N</mml:mi>
                </mml:mfrac>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>×</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>I</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mi>I</mml:mi>
                <mml:mo>+</mml:mo>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>4</mml:mn>
                  </mml:mrow>
                  <mml:mi>N</mml:mi>
                </mml:mfrac>
                <mml:mi>J</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>In other words, the diagonal entries of the output matrix <italic>Y</italic> will be the following:</p>
      <disp-formula id="FD57">
        <label>(41)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mo>+</mml:mo>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mi>N</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>4</mml:mn>
                  </mml:mrow>
                  <mml:mi>N</mml:mi>
                </mml:mfrac>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:mo>×</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>4</mml:mn>
              </mml:mrow>
              <mml:mi>N</mml:mi>
            </mml:mfrac>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>4</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>And, the non-diagonal entries will be the following:</p>
      <disp-formula id="FD58">
        <label>(42)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>4</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Therefore, once we find the required matrix <italic>M</italic>, the first <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits of the following state are applied to the corresponding quantum gate:</p>
      <disp-formula id="FD59">
        <label>(43)</label>
        <mml:math>
          <mml:mrow>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mi>N</mml:mi>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
            <mml:munderover>
              <mml:mstyle mathsize="140%" displaystyle="true">
                <mml:mo>∑</mml:mo>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>x</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>N</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:munderover>
            <mml:msup>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>f</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mi>x</mml:mi>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
            </mml:msup>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mi>x</mml:mi>
              <mml:mo>〉</mml:mo>
            </mml:mrow>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mo>〉</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:msqrt>
                  <mml:mn>2</mml:mn>
                </mml:msqrt>
              </mml:mrow>
            </mml:mfrac>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>As output, we will obtain the index from which we can retrieve the positions of the elements in the subset that satisfy the search criteria, along with the error as stated above.</p>
    </sec>
    <sec id="sec8">
      <title>8. Conclusions</title>
      <p>Until now, the time complexity of a quantum search algorithm is <inline-formula><mml:math><mml:mrow><mml:mi> Ω </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msqrt><mml:mi> N </mml:mi></mml:msqrt></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> where<italic>N</italic> is the size of the search space. This paper proposes a quantum algorithm that reduces this time complexity. The proposed quantum algorithm requires <inline-formula><mml:math><mml:mi> n </mml:mi></mml:math></inline-formula> qubits as input, where <inline-formula><mml:math><mml:mrow><mml:mi> n </mml:mi><mml:mo> = </mml:mo><mml:mrow><mml:mo> ⌈ </mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi> log </mml:mi></mml:mrow><mml:mn> 2 </mml:mn></mml:msub><mml:mi> N </mml:mi></mml:mrow><mml:mo> ⌉ </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , and one ancillary qubit. After measuring the n-qubit output of the quantum gate G implemented using the unitary matrix<italic>M</italic>, we get the index in the unsorted database that satisfies the search criteria with a significantly high probability.</p>
      <p>Though the unitary matrix <italic>M</italic> corresponding to the quantum gate <italic>G</italic> is an <inline-formula><mml:math><mml:mrow><mml:mi> N </mml:mi><mml:mo> × </mml:mo><mml:mi> N </mml:mi></mml:mrow></mml:math></inline-formula> matrix, there are only two different values for elements of <italic>M</italic>. All the diagonal elements of M have the same value. All non-diagonal elements of <italic>M</italic> have the same value. Therefore, the matrix<italic>M</italic> can be constructed in <inline-formula><mml:math><mml:mrow><mml:mi> O </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mn> 1 </mml:mn><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> time.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Pittenger, A.O. (2012) An Introduction to Quantum Computing Algorithms. Vol. 19, Springer Science &amp; Business Media.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Pittenger, A.O.</string-name>
            </person-group>
            <year>2012</year>
            <article-title>An Introduction to Quantum Computing Algorithms</article-title>
            <source>Vol. 19</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Grover, L.K. (1996) A Fast Quantum Mechanical Algorithm for Database Search. <italic>Proceedings of the</italic><italic>Twenty</italic><italic>-</italic><italic>Eighth Annual</italic><italic>ACM</italic><italic>Symposium</italic><italic>on Theory of</italic><italic>Computing</italic>, New York, 1 July 1996, 212-219. https://doi.org/10.1145/237814.237866 <pub-id pub-id-type="doi">10.1145/237814.237866</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/237814.237866">https://doi.org/10.1145/237814.237866</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Grover, L.K.</string-name>
              <string-name>Computing, N</string-name>
            </person-group>
            <year>1996</year>
            <article-title>A Fast Quantum Mechanical Algorithm for Database Search</article-title>
            <source>Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing</source>
            <volume>1</volume>
            <pub-id pub-id-type="doi">10.1145/237814.237866</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Nielsen, M.A. and Isaac L.C. (2010) Quantum Computation and Quantum Information. Cambridge University Press.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Nielsen, M.A.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Quantum Computation and Quantum Information</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Horn, R.A. and Johnson, C.R. (2012) Matrix Analysis. Cambridge University Press.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Horn, R.A.</string-name>
              <string-name>Johnson, C.R.</string-name>
            </person-group>
            <year>2012</year>
            <article-title>Matrix Analysis</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Wikipedia Contributors (2025) Sherman-Morrison Formula. Wikipedia, Wikimedia Foundation.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Wikipedia, W</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Sherman-Morrison Formula</article-title>
            <source>Wikipedia</source>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>