<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Qiskit on Thomas Mlynarski</title><link>https://thomasmlynarski.com/tags/qiskit/</link><description>Recent content in Qiskit on Thomas Mlynarski</description><generator>Hugo</generator><language>en-us</language><copyright>© Thomas Mlynarski</copyright><lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thomasmlynarski.com/tags/qiskit/index.xml" rel="self" type="application/rss+xml"/><item><title>Modern Qiskit, part 1: the compiler is the subject</title><link>https://thomasmlynarski.com/posts/qiskit-part-1-transpilation/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://thomasmlynarski.com/posts/qiskit-part-1-transpilation/</guid><description>&lt;p&gt;&lt;a href="https://thomasmlynarski.com/posts/qiskit-part-0-primitives/"&gt;Part 0&lt;/a&gt; covered the primitives.
This post is about the &lt;em&gt;optimize&lt;/em&gt; step: what the transpiler does to a
circuit on the way to real hardware, and how to measure it. The two
numbers that matter throughout are &lt;strong&gt;depth&lt;/strong&gt; (how long the state sits
exposed to decoherence) and &lt;strong&gt;2-qubit gate count&lt;/strong&gt; (2q gates are
roughly an order of magnitude noisier than 1q gates on current
devices). Everything the compiler does is in service of those two
numbers.&lt;/p&gt;</description></item><item><title>Modern Qiskit, part 0: primitives and the patterns workflow</title><link>https://thomasmlynarski.com/posts/qiskit-part-0-primitives/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://thomasmlynarski.com/posts/qiskit-part-0-primitives/</guid><description>&lt;p&gt;This is the first post in a series working through the modern Qiskit
stack (Qiskit 2.4.2, qiskit-aer 0.17.2, qiskit-ibm-runtime 0.47.0,
Python 3.12). Qiskit&amp;rsquo;s 0.x → 1.0 → 2.x transition removed most of what
older tutorials teach — &lt;code&gt;execute()&lt;/code&gt;, &lt;code&gt;opflow&lt;/code&gt;, &lt;code&gt;qiskit.algorithms&lt;/code&gt; are
all gone — so the series sticks strictly to the current model: every
program is &lt;strong&gt;map → optimize → execute → analyze&lt;/strong&gt;, and execution goes
through the V2 &lt;em&gt;primitives&lt;/em&gt;. Everything below runs locally on
&lt;code&gt;AerSimulator&lt;/code&gt; through the runtime primitives; the same code targets
real hardware by swapping the backend, which is the point of the
primitives design.&lt;/p&gt;</description></item></channel></rss>