<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pages on oqft.com</title>
    <link>https://oqft.com/pages/</link>
    <description>Recent content in Pages on oqft.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://oqft.com/pages/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://oqft.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/about/</guid>
      <description>&lt;p&gt;oqft.com is the home of OQFT, an open source toolkit for the optimistic quantum Fourier transform. It builds the circuit for any register size, writes it out as OpenQASM 3, counts its gates and depth, and checks it on a classical simulator against the exact transform.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-name&#34;&gt;The Name&lt;/h2&gt;&#xA;&lt;p&gt;OQFT stands for &lt;strong&gt;Optimistic Quantum Fourier Transform&lt;/strong&gt;. The quantum Fourier transform, QFT for short, is the step in Shor&amp;rsquo;s factoring algorithm, and in quantum phase estimation, that turns a hidden repeating pattern into a number you can measure. &amp;ldquo;Optimistic&amp;rdquo; is the word the researchers who designed the fast version chose for circuits that are accurate on almost every input but give up on a small, predictable slice of them. The O in front is that trade.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://oqft.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/contact/</guid>
      <description>&lt;p&gt;oqft.com would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;People building quantum compilers and toolchains&lt;/strong&gt; who&amp;rsquo;d use an optimistic QFT as a building block.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Researchers&lt;/strong&gt; who want a gate, an export format or a check that OQFT doesn&amp;rsquo;t have yet.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone who found a bug.&lt;/strong&gt; A circuit that doesn&amp;rsquo;t load, a count that looks off, an error you didn&amp;rsquo;t expect.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@oqft.com&#34;&gt;info@oqft.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Bug reports are also welcome on &lt;a href=&#34;https://github.com/softdevstudio/oqft/issues&#34;&gt;GitHub&lt;/a&gt;. It helps to include what &lt;code&gt;oqft version&lt;/code&gt; prints, the exact command you ran and what it printed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download OQFT</title>
      <link>https://oqft.com/download/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/download/</guid>
      <description>&lt;p&gt;The &lt;code&gt;oqft&lt;/code&gt; command is one file with nothing else to install. Each archive below holds it with its license files. The links always point to the latest release.&lt;/p&gt;&#xA;&lt;div style=&#34;overflow-x:auto&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;System&lt;/th&gt;&#xA;          &lt;th&gt;Download&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/oqft_linux_amd64.tar.gz&#34;&gt;oqft_linux_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, ARM64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/oqft_linux_arm64.tar.gz&#34;&gt;oqft_linux_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Apple silicon&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/oqft_darwin_arm64.tar.gz&#34;&gt;oqft_darwin_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Intel&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/oqft_darwin_amd64.tar.gz&#34;&gt;oqft_darwin_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/oqft_windows_amd64.zip&#34;&gt;oqft_windows_amd64.zip&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;em&gt;Checksums are in &lt;a href=&#34;https://github.com/softdevstudio/oqft/releases/latest/download/SHA256SUMS&#34;&gt;SHA256SUMS&lt;/a&gt;. Every release is listed on &lt;a href=&#34;https://github.com/softdevstudio/oqft/releases&#34;&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;install&#34;&gt;Install&lt;/h2&gt;&#xA;&lt;p&gt;On Linux or macOS:&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;tar -xzf oqft_linux_amd64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mv oqft /usr/local/bin/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;oqft version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The binaries are static, so they run on any Linux distribution. The macOS binaries aren&amp;rsquo;t signed by Apple, so macOS may block the first run. Allow it in System Settings under Privacy &amp;amp; Security, or run &lt;code&gt;xattr -d com.apple.quarantine oqft&lt;/code&gt;. On Windows, unzip the archive and put &lt;code&gt;oqft.exe&lt;/code&gt; in a folder on your PATH.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://oqft.com/quick-start/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/quick-start/</guid>
      <description>&lt;p&gt;This page gets OQFT running and walks through its three commands: &lt;code&gt;gen&lt;/code&gt; writes a circuit, &lt;code&gt;stats&lt;/code&gt; counts it, and &lt;code&gt;check&lt;/code&gt; tests it against the exact transform.&lt;/p&gt;&#xA;&lt;h2 id=&#34;install&#34;&gt;Install&lt;/h2&gt;&#xA;&lt;p&gt;Download the archive for your system from the &lt;a href=&#34;https://oqft.com/download/&#34;&gt;download page&lt;/a&gt;, unpack it and put &lt;code&gt;oqft&lt;/code&gt; on your PATH. Then:&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;oqft version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;write-a-circuit&#34;&gt;Write a Circuit&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;oqft gen&lt;/code&gt; prints a circuit as OpenQASM 3. The textbook QFT on four qubits:&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;oqft gen -n &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The optimistic QFT on 128 qubits, with an error target of 0.01, saved to a file:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://oqft.com/reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://oqft.com/reference/</guid>
      <description>&lt;p&gt;Everything &lt;code&gt;oqft&lt;/code&gt; does, in one page. The &lt;a href=&#34;https://oqft.com/quick-start/&#34;&gt;quick start&lt;/a&gt; has worked examples.&lt;/p&gt;&#xA;&lt;h2 id=&#34;commands&#34;&gt;Commands&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;What it does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;oqft gen&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Writes a circuit as OpenQASM 3 to standard output&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;oqft stats&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Compares gate counts and depth of the textbook and approximate QFT, and the optimistic QFT when &lt;code&gt;--eps&lt;/code&gt; is given&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;oqft check&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Measures each input&amp;rsquo;s error against the exact QFT on a simulator&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;oqft version&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Prints the version&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;oqft help&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Lists the commands&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;oqft-gen&#34;&gt;oqft gen&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;oqft gen --type qft|aqft|oqft -n N [--cutoff K] [--eps E]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&#34;overflow-x:auto&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Option&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;          &lt;th&gt;Default&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;-n&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Number of qubits. Required&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--type&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;qft&lt;/code&gt; textbook, &lt;code&gt;aqft&lt;/code&gt; approximate, &lt;code&gt;oqft&lt;/code&gt; optimistic&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;qft&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--cutoff&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;For &lt;code&gt;aqft&lt;/code&gt;: the largest distance between two qubits that keeps its rotation&lt;/td&gt;&#xA;          &lt;td&gt;2&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;--eps&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;For &lt;code&gt;oqft&lt;/code&gt;: the error target, between 0 and 1&lt;/td&gt;&#xA;          &lt;td&gt;0.01&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;oqft-stats&#34;&gt;oqft stats&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;oqft stats -n N [--cutoff K] [--eps E]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Prints counts of each gate, total gates, two-qubit gates and depth. With &lt;code&gt;--eps&lt;/code&gt; it adds a line for the optimistic QFT at that error target.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
