<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Quantum Fourier Transform on oqft.com</title>
    <link>https://oqft.com/tags/quantum-fourier-transform/</link>
    <description>Recent content in Quantum Fourier Transform on oqft.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 13 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://oqft.com/tags/quantum-fourier-transform/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building a QFT Comparison Table for a Paper With One Shell Loop and OQFT</title>
      <link>https://oqft.com/building-a-qft-comparison-table-for-a-paper-with-one-shell-loop-and-oqft/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/building-a-qft-comparison-table-for-a-paper-with-one-shell-loop-and-oqft/</guid>
      <description>&lt;p&gt;A paper or a design review usually wants one table: circuit size against depth and gate count, for a few register sizes and error targets. &lt;code&gt;oqft stats&lt;/code&gt; prints all of it, one size at a time. A short shell loop turns that into a CSV file you can drop into a spreadsheet or a LaTeX table.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;qubits,eps,qft_depth,oqft_depth,qft_gates,oqft_gates&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; n in &lt;span style=&#34;color:#ae81ff&#34;&gt;64&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt; 1024; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; eps in 0.1 0.01; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    oqft stats -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$n&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; --eps &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$eps&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | awk -v n&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$n&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; -v e&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$eps&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      /^Total gates/ {qg = $3}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      /^Depth/       {qd = $2}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;      /^OQFT/        {gsub(&amp;#34;,&amp;#34;, &amp;#34;&amp;#34;); print n &amp;#34;,&amp;#34; e &amp;#34;,&amp;#34; qd &amp;#34;,&amp;#34; $NF &amp;#34;,&amp;#34; qg &amp;#34;,&amp;#34; $6}&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt; &amp;gt; qft-table.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;awk&lt;/code&gt; part picks three lines out of each report: the textbook total from &amp;ldquo;Total gates&amp;rdquo;, the textbook depth from &amp;ldquo;Depth&amp;rdquo;, and both OQFT figures from the line that starts with &amp;ldquo;OQFT&amp;rdquo;. The commas inside that line are stripped so they don&amp;rsquo;t split the CSV.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Choosing an Error Target for a 2048-Qubit OQFT, Each Tenfold Tightening Costs 24 to 32 Layers</title>
      <link>https://oqft.com/choosing-an-error-target-for-a-2048-qubit-oqft-each-tenfold-tightening-costs-24-to-32-layers/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/choosing-an-error-target-for-a-2048-qubit-oqft-each-tenfold-tightening-costs-24-to-32-layers/</guid>
      <description>&lt;p&gt;OQFT asks for one number besides the register size: the error target, &lt;code&gt;--eps&lt;/code&gt;. It&amp;rsquo;s the average squared error you&amp;rsquo;re willing to accept over all inputs. Pick it too loose and Shor&amp;rsquo;s algorithm misses more often. Pick it too tight and you pay in depth. This case study puts numbers on that trade for a 2,048-qubit register, the size a 2048-bit RSA key calls for.&lt;/p&gt;&#xA;&lt;p&gt;We ran &lt;code&gt;oqft stats -n 2048&lt;/code&gt; at four targets, from 0.1 down to 0.0001, and recorded the block width OQFT chose for each.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Block Width Sets the Error of an Optimistic QFT, Measured on 16 Qubits</title>
      <link>https://oqft.com/how-block-width-sets-the-error-of-an-optimistic-qft-measured-on-16-qubits/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/how-block-width-sets-the-error-of-an-optimistic-qft-measured-on-16-qubits/</guid>
      <description>&lt;p&gt;The block width is the one knob inside an optimistic QFT. Narrow blocks make a shallow circuit that fails often. Wide blocks fail rarely but cost more depth. OQFT normally picks the width for you from the error target, but on a register small enough to simulate you can force it with &lt;code&gt;--block-width&lt;/code&gt; and watch what happens.&lt;/p&gt;&#xA;&lt;p&gt;We took a 16-qubit register, forced every width from 2 to 8, and ran 300 random inputs through the simulator for each, with the same seed every time so the run can be repeated. For each input &lt;code&gt;oqft check&lt;/code&gt; measured the squared error against the exact QFT, and flagged any above 0.1.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How OQFT Was Tested, Matrices, Random Inputs and the Wraparound Edge</title>
      <link>https://oqft.com/how-oqft-was-tested-matrices-random-inputs-and-the-wraparound-edge/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/how-oqft-was-tested-matrices-random-inputs-and-the-wraparound-edge/</guid>
      <description>&lt;p&gt;A circuit generator can produce something that looks fine, loads fine, and computes the wrong thing. The only way to know is to run the circuit and compare. OQFT does that at three levels, and every number below comes from the recorded runs in the repository.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whole-matrices-up-to-10-qubits&#34;&gt;Whole Matrices, Up to 10 Qubits&lt;/h2&gt;&#xA;&lt;p&gt;For registers up to 10 qubits, the tests build the full matrix of each circuit, all 1,024 by 1,024 entries at the top end, and compare every entry with the exact Fourier transform written out by formula. The textbook QFT matches at every size from 1 to 10. The approximate QFT is checked the same way, to confirm its error stays inside a bound that tightens as it keeps more rotations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Optimistic Quantum Circuits Explained, Why a QFT That Is Almost Always Right Is Enough</title>
      <link>https://oqft.com/optimistic-quantum-circuits-explained-why-a-qft-that-is-almost-always-right-is-enough/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/optimistic-quantum-circuits-explained-why-a-qft-that-is-almost-always-right-is-enough/</guid>
      <description>&lt;p&gt;Ask a circuit designer for a quantum Fourier transform and they&amp;rsquo;ll want it right on every input. That&amp;rsquo;s the normal bar. A circuit is a fixed piece of hardware, and you can&amp;rsquo;t look inside a quantum state to see which input you got and take a different path. So it has to work for all of them.&lt;/p&gt;&#xA;&lt;p&gt;The trouble is that &amp;ldquo;all of them&amp;rdquo; is expensive. In 2025 a group of researchers from MIT, UC Berkeley and Google asked a different question: what if the circuit only has to be right on almost every input? They called that kind of circuit optimistic, and showed the QFT gets much cheaper under the looser rule.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OQFT Cuts QFT Depth From 4096 to 198 on a 2048-Qubit Register</title>
      <link>https://oqft.com/oqft-cuts-qft-depth-from-4096-to-198-on-a-2048-qubit-register/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/oqft-cuts-qft-depth-from-4096-to-198-on-a-2048-qubit-register/</guid>
      <description>&lt;p&gt;The quantum Fourier transform sits in the middle of Shor&amp;rsquo;s algorithm. Build it the textbook way on 2,048 qubits, the size you&amp;rsquo;d need for a 2048-bit RSA key, and you get about 2.1 million gates stacked 4,096 layers deep. Most of those gates are tiny rotations that barely change anything. The rest still have to wait their turn.&lt;/p&gt;&#xA;&lt;p&gt;OQFT 0.3 builds the other version. The optimistic QFT on the same 2,048 qubits takes 198 layers and about 104,000 gates, and it needs no qubits beyond the register itself. It&amp;rsquo;s right on almost every input. On a small, known slice of inputs it&amp;rsquo;s badly wrong, and that&amp;rsquo;s the deal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OQFT Depth Crossover, the Optimistic QFT Beats the Textbook Circuit From 68 Qubits On</title>
      <link>https://oqft.com/oqft-depth-crossover-the-optimistic-qft-beats-the-textbook-circuit-from-68-qubits-on/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/oqft-depth-crossover-the-optimistic-qft-beats-the-textbook-circuit-from-68-qubits-on/</guid>
      <description>&lt;p&gt;The optimistic QFT is built for big registers. Everyone working with it knows that. The less obvious question is where &amp;ldquo;big&amp;rdquo; starts, because below some size the textbook circuit is simply shallower, and a compiler that swaps in OQFT everywhere would make small circuits worse.&lt;/p&gt;&#xA;&lt;p&gt;So we ran &lt;code&gt;oqft stats&lt;/code&gt; at an error target of 0.01 for every register size from 32 to 80 qubits, plus a few larger ones, and wrote down depth and gate count for both circuits. Depth counts every gate as one layer, with gates on separate qubits sharing a layer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What OQFT Stands For, the Optimistic Quantum Fourier Transform</title>
      <link>https://oqft.com/what-oqft-stands-for-the-optimistic-quantum-fourier-transform/</link>
      <pubDate>Fri, 13 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/what-oqft-stands-for-the-optimistic-quantum-fourier-transform/</guid>
      <description>&lt;p&gt;OQFT is four letters and one idea. The last three, QFT, are the quantum Fourier transform, one of the most used building blocks in quantum computing. The O is the new part: optimistic.&lt;/p&gt;&#xA;&lt;p&gt;The QFT got its name from the Fourier transform, the 200-year-old tool that breaks a signal into the waves it&amp;rsquo;s made of. Joseph Fourier worked it out while studying how heat spreads through metal. Phones, audio files and radio links all lean on its fast digital version. The quantum version does the same job on the amplitudes of a quantum state, and it&amp;rsquo;s what lets Shor&amp;rsquo;s algorithm find the hidden period that cracks a large number into its factors.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
