Table of Contents
Notes 2026-08-18
(Quantum 1) Quantum computing modalities, physical systems, and encodings
General picture
It is useful to distinguish several levels:
$$ \text{physical platform} \rightarrow \text{physical system/device} \rightarrow \text{physical Hilbert space} \rightarrow \text{encoding} \rightarrow \text{logical qubit}. $$
A logical qubit always has Hilbert space
$$ \mathcal H_L \cong \mathbb C^2. $$
An encoding specifies how this abstract two-dimensional system is represented inside a physical Hilbert space:
$$ V:\mathbb C^2\hookrightarrow\mathcal H_{\mathrm{phys}}. $$
The corresponding code/computational subspace is
$$ \mathcal C = V(\mathbb C^2) = \operatorname{span}\{|0_L\rangle,|1_L\rangle\}. $$
Thus:
- basis — coordinates used to describe a physical Hilbert space;
- encoding — map specifying which physical states represent logical states;
- code space — image of that encoding;
- logical qubit — abstract two-dimensional quantum system represented by the code space.
Physical platforms
Major physical approaches include:
- superconducting circuits;
- transmons;
- fluxonium;
- microwave resonators;
- trapped ions;
- neutral atoms / Rydberg atoms;
- photonic systems;
- semiconductor spin qubits;
- defect centers such as NV centers;
- topological systems.
These describe primarily what physical quantum system is being controlled, rather than how logical information is encoded in it.
“Platform” and “device” are not rigidly standardized terms. Roughly, a platform is a technological family, while a device is a particular realization within that family:
$$ \text{superconducting circuits} \rightarrow \text{transmon}. $$
Transmon qubit
The transmon Hamiltonian is
$$ H = 4E_C(\hat n-n_g)^2 - E_J\cos\hat\phi. $$
It can first be represented in the charge basis
$$ \{|n\rangle\}_{n\in\mathbb Z}. $$
Diagonalizing the Hamiltonian gives
$$ H|E_j\rangle=E_j|E_j\rangle, $$
where
$$ |E_j\rangle = \sum_n c_n^{(j)}|n\rangle. $$
Thus
$$ |n\rangle \quad\longrightarrow\quad |E_j\rangle $$
is merely a change of basis.
The ordinary transmon encoding then chooses
$$ |0_L\rangle=|E_0\rangle, \qquad |1_L\rangle=|E_1\rangle. $$
Hence
$$ \mathcal C_{\mathrm{transmon}} = \operatorname{span}\{|E_0\rangle,|E_1\rangle\}. $$
States such as
$$ |E_2\rangle,|E_3\rangle,\ldots $$
are outside the computational subspace. Population entering them constitutes leakage.
The distinction is therefore
$$ \boxed{\text{diagonalization}=\text{change of basis}} $$
versus
$$ \boxed{\text{encoding}=\text{choice of physical representation of logical information}}. $$
Bosonic systems
A bosonic mode has Fock space
$$ \mathcal F = \operatorname{span} \{|0\rangle,|1\rangle,|2\rangle,\ldots\} $$
with ladder operators
$$ [a,a^\dagger]=1. $$
For a harmonic oscillator,
$$ H = \hbar\omega \left( a^\dagger a+\frac12 \right). $$
Electromagnetic field modes are bosonic modes, so this description applies both to optical photons and microwave cavity photons.
A bosonic code uses the larger oscillator Hilbert space to encode a smaller logical system:
$$ \mathbb C^2\hookrightarrow\mathcal F. $$
Important bosonic codes include:
- cat codes;
- GKP codes;
- binomial codes.
These are alternative ways of encoding logical information into bosonic oscillator states.
Cat code
A coherent state satisfies
$$ a|\alpha\rangle=\alpha|\alpha\rangle $$
and has Fock expansion
$$ |\alpha\rangle = e^{-|\alpha|^2/2} \sum_{n=0}^{\infty} \frac{\alpha^n}{\sqrt{n!}}|n\rangle. $$
Cat states are superpositions such as
$$ |C_\alpha^\pm\rangle = \mathcal N_\pm \left( |\alpha\rangle\pm|-\alpha\rangle \right). $$
For example, one possible logical basis is
$$ |0_L\rangle=|C_\alpha^+\rangle, \qquad |1_L\rangle=|C_\alpha^-\rangle. $$
Thus a logical state is encoded across many oscillator occupation numbers.
GKP code
The GKP code uses oscillator quadratures
$$ \hat q = \frac{a+a^\dagger}{\sqrt2}, \qquad \hat p = \frac{a-a^\dagger}{i\sqrt2}. $$
Logical states correspond ideally to periodic grid-like states in oscillator phase space.
Thus GKP is another encoding
$$ \mathbb C^2\hookrightarrow\mathcal F, $$
but with a very different code-space geometry from cat states.
Binomial code
Binomial codes construct logical states from selected finite superpositions of Fock states.
Schematically, an example can look like
$$ |0_L\rangle = \frac{|0\rangle+|4\rangle}{\sqrt2}, \qquad |1_L\rangle = |2\rangle. $$
Thus
$$ \boxed{ \text{cat},\quad \text{GKP},\quad \text{binomial} } $$
are alternative bosonic codes/encodings.
Photonic quantum computing
“Photonic” primarily specifies a physical platform: optical electromagnetic modes are used as the physical quantum system.
It does not uniquely determine the encoding.
Possible photonic encodings include:
- dual rail;
- polarization;
- time bin;
- GKP;
- other bosonic encodings.
Therefore
$$ \boxed{\text{photonic}=\text{physical realization}} $$
while
$$ \boxed{\text{dual rail/GKP/etc.}=\text{encoding}}. $$
A photonic system can therefore implement a bosonic code, but photonic quantum computing is not synonymous with bosonic coding.
Dual-rail encoding
Dual rail encodes one logical qubit into the single-excitation subspace of two distinguishable modes or subsystems.
For two modes $a,b$,
$$ \mathcal H = \mathcal F_a\otimes\mathcal F_b. $$
The encoding is
$$ |0_L\rangle=|1,0\rangle, \qquad |1_L\rangle=|0,1\rangle. $$
Hence
$$ |\psi_L\rangle = \alpha|1,0\rangle+\beta|0,1\rangle. $$
Equivalently,
$$ |\psi_L\rangle = (\alpha a^\dagger+\beta b^\dagger)|0,0\rangle. $$
The essential definition is therefore
$$ \boxed{ \text{dual rail} = \text{one excitation coherently shared between two distinguishable rails}. } $$
Dual rail does not specifically require optical photons.
For two transmons $A,B$, for example,
$$ |0_L\rangle = |E_1\rangle_A|E_0\rangle_B, $$
$$ |1_L\rangle = |E_0\rangle_A|E_1\rangle_B. $$
Using the usual shorthand,
$$ |0_L\rangle=|10\rangle, \qquad |1_L\rangle=|01\rangle. $$
Schwinger-boson representation
Two bosonic modes naturally realize the algebra $\mathfrak{su}(2)$.
Define
$$ J_+ = a^\dagger b, \qquad J_- = b^\dagger a, $$
or equivalently
$$ J_x = \frac12(a^\dagger b+b^\dagger a), $$
$$ J_y = \frac{1}{2i}(a^\dagger b-b^\dagger a), $$
$$ J_z = \frac12(a^\dagger a-b^\dagger b). $$
They satisfy
$$ [J_i,J_j] = i\epsilon_{ijk}J_k. $$
The total occupation
$$ N=a^\dagger a+b^\dagger b $$
is conserved by these operators.
For fixed $N$, the corresponding subspace has dimension
$$ N+1 $$
and realizes the spin
$$ j=\frac N2 $$
irreducible representation of $SU(2)$.
In particular,
$$ N=1 \quad\Longrightarrow\quad j=\frac12. $$
The states
$$ |1,0\rangle,\qquad|0,1\rangle $$
therefore carry the fundamental two-dimensional representation of $SU(2)$.
This explains mathematically why dual rail naturally behaves as a qubit.
Dual rail versus cat
Both can start from bosonic Hilbert spaces, but they use them very differently.
| Dual rail | Cat | |
| — | — | — |
| Typical number of modes | 2 | 1 |
| Logical basis | $|10\rangle,|01\rangle$ | coherent-state superpositions |
| Occupation | fixed total $N=1$ | distributed across many $n$ |
| Main idea | which rail contains excitation | structured states within oscillator |
| Uses large Fock space | minimally | deliberately |
Thus, schematically,
$$ \boxed{ \text{dual rail} = \text{constrain occupation across multiple modes} } $$
whereas
$$ \boxed{ \text{cat} = \text{construct structured superpositions within a mode}. } $$
Dual rail and leakage
For two ideal two-level systems,
$$ \mathcal H_{\mathrm{phys}} = \operatorname{span} \{ |00\rangle,|01\rangle,|10\rangle,|11\rangle \}. $$
Dual rail selects only
$$ \mathcal C = \operatorname{span} \{|10\rangle,|01\rangle\}. $$
Therefore
$$ |00\rangle,\ |11\rangle $$
are outside the logical code space.
This means encoding creates additional opportunities for leakage, but that additional Hilbert-space structure can also make errors detectable.
For an ordinary transmon,
$$ |0_L\rangle=|0\rangle, \qquad |1_L\rangle=|1\rangle, $$
and relaxation gives
$$ |1_L\rangle\rightarrow|0_L\rangle. $$
The error has mapped one valid logical state onto another.
For dual rail,
$$ |0_L\rangle=|10\rangle, \qquad |1_L\rangle=|01\rangle, $$
and single-excitation loss gives
$$ |10\rangle\rightarrow|00\rangle, $$
or
$$ |01\rangle\rightarrow|00\rangle. $$
Since
$$ |00\rangle\notin\mathcal C, $$
the loss can be recognized as leaving the code space.
However, the original amplitudes in
$$ \alpha|10\rangle+\beta|01\rangle $$
are lost after complete excitation loss. Dual rail therefore does not by itself correct this error; it can turn it into a detectable erasure/leakage event.
Dual rail versus repetition code
Dual rail:
$$ |0_L\rangle=|10\rangle, \qquad |1_L\rangle=|01\rangle. $$
Two-qubit repetition encoding:
$$ |0_L\rangle=|00\rangle, \qquad |1_L\rangle=|11\rangle. $$
Three-qubit bit-flip repetition code:
$$ |0_L\rangle=|000\rangle, \qquad |1_L\rangle=|111\rangle. $$
These should not be confused.
The three-qubit repetition code is designed to correct one bit-flip error:
$$ X_i. $$
Dual rail instead has useful properties against excitation-loss errors because valid states have fixed total excitation number
$$ N=1. $$
Thus they solve different problems:
$$ \boxed{ \text{dual rail} \rightarrow \text{encoding with useful error-detection/erasure properties} } $$
while
$$ \boxed{ \text{3-qubit repetition} \rightarrow \text{error-correcting code for bit flips}. } $$
Why use a larger Hilbert space?
Encoding often increases the physical Hilbert-space dimension.
For example,
$$ \dim\mathcal C=2 $$
for one logical qubit, while two physical two-level systems provide
$$ \dim\mathcal H_{\mathrm{phys}}=4. $$
This creates more states into which the system can leak.
However, the unused dimensions also provide somewhere for physical errors to go without becoming another valid logical state.
This is one of the fundamental ideas behind quantum error detection and correction:
$$ \boxed{ \mathbb C^2 \hookrightarrow \mathcal H_{\mathrm{phys}}, \qquad \dim\mathcal H_{\mathrm{phys}}>2. } $$
The additional degrees of freedom provide redundancy that can allow physical errors to become detectable syndromes, leakage events, or correctable transformations.
Overall taxonomy
The most useful classification separates hardware from encoding:
$$ \boxed{ \underbrace{\text{What physical system do I have?}}_{\text{platform/device}} \quad\times\quad \underbrace{\text{How do I represent }\mathbb C^2\text{ in it?}}_{\text{encoding/code}} } $$
Examples:
| Physical system | Possible encoding |
| — | — |
| Transmon | $|E_0\rangle,|E_1\rangle$ |
| Two transmons | dual rail |
| Two optical modes | dual rail |
| Optical polarization | polarization encoding |
| Optical temporal modes | time-bin encoding |
| Microwave cavity | cat, GKP, binomial |
| Optical bosonic mode | GKP or other bosonic code |
Encodings can themselves subsequently become the physical building blocks of higher-level error-correcting codes:
$$ \text{physical oscillator} \rightarrow \text{bosonic encoded qubit} \rightarrow \text{higher-level QEC code} \rightarrow \text{fault-tolerant logical qubit}. $$
The overarching idea is
$$ \boxed{ \text{find a controllable and robust representation of } \mathbb C^2 \text{ inside a physical Hilbert space}. } $$
Different quantum-computing modalities and encodings are different solutions to this same physical and information-theoretic problem.
