Skip to content

Bosonic and Encoded Computation Models

An oscillator has infinitely many number states, but a bosonic quantum computer can use a small subspace to represent a finite logical register. A physical pulse becomes a logical gate only after specifying that encoding and following the complete physical evolution. Amplitude may leave the code and return later; a measurement may reject an input; recovery may depend on a recorded outcome.

This page shows how to calculate the logical result, using an exact dual-rail rotation and a single-mode displacement. Bosonic codes explains error-correcting encodings and recovery; continuous-variable computation treats computation directly with quadratures.

Helpful background. Bosonic codes introduces code subspaces and recovery. The circuit model explains channels, measurement branches and classical control.

Encoding a finite register in oscillator modes

Section titled “Encoding a finite register in oscillator modes”

For mm modes with [aj,ak†]=δjk[a_j,a_k^\dagger]=\delta_{jk}, write the total occupation as Ntot=∑jaj†ajN_{\mathrm{tot}}=\sum_j a_j^\dagger a_j. An encoding isometry

W:CdL⟶Hphys,W†W=ILW:\mathbb C^{d_{\mathrm L}}\longrightarrow\mathcal H_{\mathrm{phys}}, \qquad W^\dagger W=I_{\mathrm L}

maps logical basis states to orthonormal physical code states. Define

P=WW†,Q=I−P,Enc⁡(ρ)=WρW†.P=WW^\dagger,\qquad Q=I-P,\qquad \operatorname{Enc}(\rho)=W\rho W^\dagger.

For example, single-rail encoding uses W∣0⟩=∣0⟩W|0\rangle=|0\rangle and W∣1⟩=∣1⟩W|1\rangle=|1\rangle in one mode. Dual-rail encoding uses ∣10⟩|10\rangle and ∣01⟩|01\rangle in two modes. Neither choice alone proves error correction: that requires a noise model and a recovery that preserves unknown logical information, including correlations with a reference.

Here WW has normalizable columns. Ideal infinitely squeezed GKP states are distributions rather than Hilbert-space vectors, so this isometry cannot be applied to them literally. Finite-energy approximations require actual normalized, orthogonal code states or an explicitly specified physical encoding map. Two approximate wavefunctions need not be exactly orthogonal just because their ideal limits are.

A mean-energy constraint Tr⁡(ρNtot)≤E\operatorname{Tr}(\rho N_{\mathrm{tot}})\leq E differs from a hard number cutoff. It also does not ensure that every higher moment or product of unbounded operators exists. A self-adjoint Hamiltonian generates a unitary defined on the entire Hilbert space; differentiating its action or using products of generators requires the relevant domains. The finite-particle span is useful for polynomial identities, but a displacement or squeezing unitary need not preserve that span.

From physical evolution to a logical operation

Section titled “From physical evolution to a logical operation”

For a physical unitary UU, separate its code and leakage blocks:

MU=W†UW,LU=QUW.M_U=W^\dagger UW,\qquad L_U=QUW.

Inserting P+Q=IP+Q=I into W†U†UWW^\dagger U^\dagger UW gives

MU†MU+LU†LU=IL.M_U^\dagger M_U+L_U^\dagger L_U=I_{\mathrm L}.

Thus ∥LU∣ψ⟩∥2\|L_U|\psi\rangle\|^2 is the leakage probability for a normalized logical input, and its maximum is ∥LU∥op2\|L_U\|_{\mathrm{op}}^2. The code block need not be unitary. An exact logical gate VV, up to common phase, instead satisfies

UW=eiαWVUW=e^{i\alpha}WV

on the whole logical space. This simultaneously requires the correct action and zero final leakage.

Composition is especially important. For two pulses,

W†U2U1W=MU2MU1+W†U2QU1W.W^\dagger U_2U_1W =M_{U_2}M_{U_1}+W^\dagger U_2QU_1W.

The last term is amplitude that leaves the code after the first pulse and returns during the second. Multiplying the compressed blocks omits it. In the figure, encode ∣0L⟩=∣0⟩|0_{\mathrm L}\rangle=|0\rangle, ∣1L⟩=∣2⟩|1_{\mathrm L}\rangle=|2\rangle and let SS swap ∣1⟩|1\rangle with ∣2⟩|2\rangle. The full program S2=IS^2=I returns every input, whereas an intervening measurement that rejects ∣1⟩|1\rangle destroys the logical-one branch.

Two swaps move the logical-one amplitude from number state two to one and back, while the logical-zero amplitude stays in number state zero

The shaded levels form the code. Intermediate leakage can return coherently. Projecting and rejecting the middle state changes this physical program.

For a complete physical channel Φ\Phi, a useful mathematical comparison is the flagged decoder

D⊥(σ)=W†σW+Tr⁡(Qσ)∣⊥⟩⟨⊥∣,EL=D⊥∘Φ∘Enc⁡.\mathcal D_\perp(\sigma)= W^\dagger\sigma W+ \operatorname{Tr}(Q\sigma)|\perp\rangle\langle\perp|, \qquad \mathcal E_{\mathrm L}=\mathcal D_\perp\circ\Phi\circ\operatorname{Enc}.

The first term occupies the logical output block and ∣⊥⟩|\perp\rangle is an orthogonal flag. This is a trace-preserving channel: it discards coherence between the code and its complement but retains the probability outside the code. It can define a comparison even when no decoder is built. To claim that an experiment actually returns this flag, one must implement a corresponding measurement or decoding operation. The mathematical definition supplies no detector automatically.

Use the ordered basis (∣10⟩,∣01⟩)(|10\rangle,|01\rangle) and

UB(θ)=exp⁡[−iθ(a†b+ab†)].U_B(\theta)=\exp[-i\theta(a^\dagger b+ab^\dagger)].

The generator commutes with NtotN_{\mathrm{tot}}. Within the invariant one-excitation sector,

(a†b+ab†)∣10⟩=∣01⟩,(a†b+ab†)∣01⟩=∣10⟩.(a^\dagger b+ab^\dagger)|10\rangle=|01\rangle, \qquad (a^\dagger b+ab^\dagger)|01\rangle=|10\rangle.

It therefore equals logical XX, and

MUB=cos⁡θ I−isin⁡θ X,LUB=0.M_{U_B}=\cos\theta\,I-i\sin\theta\,X, \qquad L_{U_B}=0.

At θ=π/4\theta=\pi/4 the logical rotation is

V=12(1−i−i1),UB∣10⟩=∣10⟩−i∣01⟩2.V=\frac1{\sqrt2}\begin{pmatrix}1&-i\\-i&1\end{pmatrix}, \qquad U_B|10\rangle=\frac{|10\rangle-i|01\rangle}{\sqrt2}.

No Fock cutoff or postselection is used. A rail-number measurement on this output gives equal probabilities, but that one test would not establish the gate’s relative phases. The matrix calculation applies to every logical input. If readout is performed, its disturbance is an additional operation after the gate.

The ideal invocation uses two modes, one excitation and one beam-splitter interaction. Preparation and final measurement have separate costs. Phase shifts and beam splitters provide single-qubit control in dual rail; they do not by themselves provide a deterministic universal multiqubit computer. The Knill–Laflamme–Milburn construction adds prepared ancillas, photon counting and feedforward to linear optics.

Return to single rail and define the Weyl displacement

D(α)=eαa†−α∗a.D(\alpha)=e^{\alpha a^\dagger-\alpha^*a}.

For real α\alpha, normal ordering or the coherent-state expansion gives

D(α)∣0⟩=e−α2/2∑n=0∞αnn!∣n⟩.D(\alpha)|0\rangle=e^{-\alpha^2/2} \sum_{n=0}^\infty\frac{\alpha^n}{\sqrt{n!}}|n\rangle.

Using D(α)∣1⟩=(a†−α)D(α)∣0⟩D(\alpha)|1\rangle=(a^\dagger-\alpha)D(\alpha)|0\rangle then gives the entire single-rail code block:

W†D(α)W=e−α2/2(1−αα1−α2).W^\dagger D(\alpha)W=e^{-\alpha^2/2} \begin{pmatrix}1&-\alpha\\\alpha&1-\alpha^2\end{pmatrix}.

This matrix is generally nonunitary even though DD is unitary on the oscillator. Take α=1/2\alpha=1/2, prepare vacuum, and explicitly measure {P,Q}\{P,Q\} after the displacement. Accepting PP gives

PD(1/2)∣0⟩=e−1/8(∣0⟩+12∣1⟩),pacc=54e−1/4≈0.973500978839256.P D(1/2)|0\rangle=e^{-1/8}(|0\rangle+\tfrac12|1\rangle), \qquad p_{\mathrm{acc}}=\tfrac54e^{-1/4}\approx0.973500978839256.

The normalized accepted state is (2∣0⟩+∣1⟩)/5(2|0\rangle+|1\rangle)/\sqrt5. Its squared fidelity with ∣+⟩|+\rangle is 9/109/10. Including rejection, the target overlap is instead

Funcond=pacc910=98e−1/4≈0.876150880955330.F_{\mathrm{uncond}}=p_{\mathrm{acc}}\frac9{10} =\frac98e^{-1/4}\approx0.876150880955330.

Here leakage and rejection both equal 1−pacc≈0.0264990211607441-p_{\mathrm{acc}}\approx0.026499021160744 because the measurement rejects exactly the complement of the code. Repeating this known-state preparation needs another vacuum each time; the expected attempts are 1/pacc≈1.0272203333501931/p_{\mathrm{acc}}\approx1.027220333350193. An unknown input cannot generally be recreated after rejection.

Let KyμK_{y\mu} describe outcome yy of a physical instrument and RyνR_{y\nu} a subsequent recovery. Each recovery is trace preserving when all its outcomes are included. For the mathematical code-decoded block, define

Byνμ=W†RyνKyμW.B_{y\nu\mu}=W^\dagger R_{y\nu}K_{y\mu}W.

If FyF_y is the logical correction associated with that outcome, the corrected code-output map for records in A\mathcal A is

E~A(ρ)=∑y∈A,ν,μFyByνμρByνμ†Fy†.\widetilde{\mathcal E}_{\mathcal A}(\rho)= \sum_{y\in\mathcal A,\nu,\mu} F_yB_{y\nu\mu}\rho B_{y\nu\mu}^\dagger F_y^\dagger.

Its trace counts both the selected records and final code survival. It is the observed acceptance probability only if the protocol actually tests that survival, or guarantees it. Records outside A\mathcal A and any remaining leakage must be included for an unconditional output.

A tracked frame retains yy and a rule for using FyF_y in later commands or final decoding; it does not physically apply FyF_y. Forgetting yy first generally gives a different channel. For example, equally likely raw branches II and ZZ dephase a qubit when the outcome is forgotten, but a known ZZ byproduct can be corrected.

Normalization by a positive success probability generally makes an input-dependent accepted map nonlinear. There is a useful exception: E~(ρ)=Tr⁡(Eρ)∣0⟩⟨0∣\widetilde{\mathcal E}(\rho)=\operatorname{Tr}(E\rho)|0\rangle\langle0| always prepares ∣0⟩|0\rangle on success, so its normalized output is constant wherever defined. The success probability still depends on the input and remains necessary. At zero success probability the conditional state is undefined.

For more detail, see quantum instruments and decoders. Grimsmo, Combes and Baragiola give code-specific examples of teleportation-based recovery and software tracking; a frame rule must come from the actual protocol.

Code preservation, correction and computational power

Section titled “Code preservation, correction and computational power”

Preservation by one control is weaker than protection against noise. For example, equal pure loss in the two rails gives a no-loss block ηI\sqrt\eta I. Conditioned on detecting one surviving excitation, the logical state is unchanged. Loss sends either logical basis state to the same vacuum, so the lost unknown qubit cannot be recovered from these two modes alone. The signal is a detectable erasure, useful when combined with additional coding.

Different loss probabilities distort even the accepted state: the no-loss block becomes diag⁡(ηa,ηb)\operatorname{diag}(\sqrt{\eta_a},\sqrt{\eta_b}). Exercise 3 calculates that distortion. Comparisons of bosonic encodings therefore need the complete noise-and-recovery channel, as in Albert and collaborators’ analysis, rather than code-state resemblance alone.

One exact encoded gate also does not prove universality. Arbitrary RzR_z rotations together with controlled-ZZ remain diagonal. Adding a Hadamard gives arbitrary single-qubit rotations and an entangling gate; how to implement that Hadamard while controlling errors is a separate physical question. See universal gate sets and fault-tolerant gates.

For a cutoff keeping total occupation below NN, Markov’s inequality gives

ptail=Tr⁡[(I−Π<N)ρ]≤Tr⁡(ρNtot)N.p_{\mathrm{tail}}=\operatorname{Tr}[(I-\Pi_{<N})\rho] \leq\frac{\operatorname{Tr}(\rho N_{\mathrm{tot}})}{N}.

If the retained weight is nonzero, the normalized projection is at trace distance at most ptail\sqrt{p_{\mathrm{tail}}} from the original state. The same channel and measurement cannot increase that distance. This does not compare evolution under a truncated Hamiltonian with the full propagator, nor control an unbounded observable. Those comparisons require additional dynamical or moment estimates; continuous-variable computation explains the distinction.

For an independent known-state preparation with success probability pp, repeating whole attempts gives mean count 1/p1/p. Multiply per-attempt consumed operations by that number; do not multiply the number of reusable modes. Early stopping after a failure changes the average consumed work and must be modeled separately. Energy, latency, pulse count and mode count measure different costs.

Build an Encoding Isometry and Flagged Decoder

Section titled “Build an Encoding Isometry and Flagged Decoder”

Set W∣0L⟩=∣0⟩W|0_{\mathrm L}\rangle=|0\rangle and W∣1L⟩=∣2⟩W|1_{\mathrm L}\rangle=|2\rangle. Construct the code projector and flagged decoder. Apply the decoder to 0.9∣+C⟩⟨+C∣+0.1∣1⟩⟨1∣0.9|+_{\mathrm C}\rangle\langle+_{\mathrm C}| +0.1|1\rangle\langle1|, where ∣+C⟩=(∣0⟩+∣2⟩)/2|+_{\mathrm C}\rangle=(|0\rangle+|2\rangle)/\sqrt2.

Solution

The isometry gives

P=∣0⟩⟨0∣+∣2⟩⟨2∣,Q=I−P.P = |0\rangle\langle0| + |2\rangle\langle2|, \qquad Q = I-P.

Define

D⊥(ρ)=  W†PρPW+Tr⁡(Qρ)∣⊥⟩⟨⊥∣.\mathcal D_\perp(\rho) =\; W^\dagger P\rho P W + \operatorname{Tr}(Q\rho) |\perp\rangle\langle\perp|.

The code component decodes ∣+C⟩|+_{\mathrm C}\rangle to ∣+⟩|+\rangle, whereas ∣1⟩|1\rangle lies in the flag subspace. Therefore

D⊥(ρ)=0.9∣+⟩⟨+∣+0.1∣⊥⟩⟨⊥∣.\mathcal D_\perp(\rho) = 0.9|+\rangle\langle+| + 0.1|\perp\rangle\langle\perp|.

Code acceptance is 0.90.9 and flag probability is 0.10.1. Discarding the flag would falsely turn a trace-preserving decoded channel into an apparently deterministic logical output.

Use the encoding ∣0L⟩↦∣0⟩|0_{\mathrm L}\rangle\mapsto|0\rangle and ∣1L⟩↦∣2⟩|1_{\mathrm L}\rangle\mapsto|2\rangle. Let SS fix ∣0⟩|0\rangle and swap ∣1⟩↔∣2⟩|1\rangle\leftrightarrow|2\rangle, with S∣n⟩=∣n⟩S|n\rangle=|n\rangle for every n≥3n\geq3. Compare the square of the projected one-step block with the projection of the complete two-step program.

Solution

In the ordered logical basis,

W†SW=(1000),W^\dagger S W = \begin{pmatrix} 1&0\\ 0&0 \end{pmatrix},

so

(W†SW)2=(1000).\left( W^\dagger S W \right)^2 = \begin{pmatrix} 1&0\\ 0&0 \end{pmatrix}.

But S2=IS^2=I, hence

W†S2W=IL.W^\dagger S^2W = I_{\mathrm L}.

The missing contribution is

W†SQSW=(0001).W^\dagger SQS W = \begin{pmatrix} 0&0\\ 0&1 \end{pmatrix}.

The logical-one state leaks fully after the first step and returns after the second. Projected step maps therefore cannot replace the composed physical program.

Send ∣+L⟩=(∣10⟩+∣01⟩)/2|+_{\mathrm L}\rangle=(|10\rangle+|01\rangle)/\sqrt2 through independent pure-loss channels with ηa=0.9\eta_a=0.9 and ηb=0.8\eta_b=0.8. Decode the total-one sector as accepted and vacuum as an orthogonal flag. Find the accepted probability, conditional rail populations, conditional target fidelity, and unconditioned embedded target overlap.

Solution

The unnormalized accepted vector is

∣ψ~acc⟩=ηa∣10⟩+ηb∣01⟩2.|\widetilde\psi_{\mathrm{acc}}\rangle = \frac{ \sqrt{\eta_a}|10\rangle + \sqrt{\eta_b}|01\rangle }{ \sqrt2 }.

Therefore

pacc=ηa+ηb2=0.85,p⊥=0.15.p_{\mathrm{acc}} = \frac{\eta_a+\eta_b}{2} = 0.85, \qquad p_\perp = 0.15.

After normalization, the two rail populations are 9/179/17 and 8/178/17. The target fidelity is

F+∣acc=17+12234=0.999134198484622.F_{+|\mathrm{acc}} = \frac{ 17+12\sqrt2 }{ 34 } = 0.999134198484622.

The unconditioned embedded overlap is

F+,uncond=17+12240=0.849264068711929.F_{+,\mathrm{uncond}} = \frac{ 17+12\sqrt2 }{ 40 } = 0.849264068711929.

The accepted probability changes with the logical rail populations when ηa≠ηb\eta_a\ne\eta_b. The normalized accepted state alone is therefore not a deterministic logical channel.

Test Code Preservation under a Number Rotation

Section titled “Test Code Preservation under a Number Rotation”

Encode ∣0L⟩=∣0⟩|0_{\mathrm L}\rangle=|0\rangle and ∣1L⟩=∣2⟩|1_{\mathrm L}\rangle=|2\rangle. For U(ϕ)=e−iϕnU(\phi)=e^{-i\phi n} at ϕ=π/2\phi=\pi/2, find the induced logical action, leakage, output from ∣+⟩|+\rangle, and input mean photon number.

Solution

Since U(π/2)∣0⟩=∣0⟩U(\pi/2)|0\rangle=|0\rangle and U(π/2)∣2⟩=−∣2⟩U(\pi/2)|2\rangle=-|2\rangle,

W†U(π/2)W=diag⁡(1,−1)=Z,LU=0.W^\dagger U(\pi/2)W = \operatorname{diag}(1,-1) = Z, \qquad L_U = 0.

Thus ∣+⟩↦∣−⟩|+\rangle\mapsto|-\rangle, leakage is zero, and the encoded ∣+⟩|+\rangle has mean photon number

nˉ=12(0+2)=1.\bar n = \frac12(0+2) = 1.

This is one exact native logical ZZ; it does not establish a universal gate set.

Let an accepted and rejected logical instrument have Kraus operators

K=(1001/2),J=(0003/2).K = \begin{pmatrix} 1&0\\ 0&1/2 \end{pmatrix}, \qquad J = \begin{pmatrix} 0&0\\ 0&\sqrt3/2 \end{pmatrix}.

Verify completeness. For ρ=I/2\rho=I/2, find the accepted probability and normalized state, then test whether normalizing endpoint inputs and averaging gives the same result.

Solution

Direct multiplication gives

K†K+J†J=I.K^\dagger K + J^\dagger J = I.

For ρ=I/2\rho=I/2,

ρ~acc=KρK†=(1/2001/8),\widetilde\rho_{\mathrm{acc}} = K\rho K^\dagger = \begin{pmatrix} 1/2&0\\ 0&1/8 \end{pmatrix},

so

pacc=58,ρacc=(4/5001/5).p_{\mathrm{acc}} = \frac58, \qquad \rho_{\mathrm{acc}} = \begin{pmatrix} 4/5&0\\ 0&1/5 \end{pmatrix}.

The normalized endpoint outputs are ∣0⟩⟨0∣|0\rangle\langle0| and ∣1⟩⟨1∣|1\rangle\langle1|. Their equal average is I/2I/2, not the matrix above. Input-dependent normalization is nonlinear, so the subnormalized accepted map and rejected branch must be retained.

For ∣α=2⟩|\alpha=2\rangle, consider a dimension-1212 truncation retaining n=0,…,11n=0,\ldots,11. Compute the exact omitted probability and compare it with the mean-energy bound.

Solution

The coherent-state number distribution is Poisson with mean nˉ=∣α∣2=4\bar n=|\alpha|^2=4. Its exact tail is

ϵtail=1−e−4∑n=0114nn!=0.000915229147270.\begin{aligned} \epsilon_{\mathrm{tail}} &= 1 - e^{-4} \sum_{n=0}^{11} \frac{4^n}{n!} \\ &= 0.000915229147270. \end{aligned}

The mean-energy estimate is much looser:

ϵtail≤nˉ12=13.\epsilon_{\mathrm{tail}} \leq \frac{\bar n}{12} = \frac13.

Both numbers bound the input-state tail. To convert a tail to a state-distance bound, take its square root. This still does not compare two different propagators or establish a logical-gate error bound.

Complete a gate set and count repeated attempts

Section titled “Complete a gate set and count repeated attempts”

Why are Rz(θ)R_z(\theta) and controlled-ZZ insufficient for universality, and what changes if Hadamard is available? Then consider a known-state preparation with three recoveries, each accepting independently with probability 4/54/5. Every attempt consumes six native controls, one Hadamard, three recovery measurements and three ancilla preparation/reset operations, even if a failure occurs. Two storage modes and one reusable ancilla are available. Find the expected consumed resources until success.

Solution

The first two gates remain diagonal under composition. Hadamard converts ZZ rotations to XX rotations, giving arbitrary single-qubit unitaries; controlled-ZZ supplies an entangling gate.

The complete attempt succeeds with p=(4/5)3=64/125p=(4/5)^3=64/125, so the mean attempts are 125/64125/64. Thus

E[Nnative]=37532,E[NH]=12564,\mathbb E[N_{\mathrm{native}}]=\frac{375}{32},\qquad \mathbb E[N_H]=\frac{125}{64},

and the expected number of recoveries, measurements and ancilla preparation/reset operations is 375/64375/64 each. There are 125/64125/64 fresh logical-input preparations on average. The simultaneous footprint remains three modes.

If each of the three layers has two control slots and one bundled recovery slot, plus one Hadamard slot overall, the ideal depth per attempt is ten and expected total depth is 625/32625/32. This count assumes each recovery slot includes its ancilla preparation/reset and measurement. Separate preparation, reset or readout latency adds time. Stopping early after a failure would produce different consumed counts.

Encode ∣0L⟩=∣0⟩|0_{\mathrm L}\rangle=|0\rangle, ∣1L⟩=∣1⟩|1_{\mathrm L}\rangle=|1\rangle. Prepare ∣+⟩|+\rangle, apply U=e−iπn/2U=e^{-i\pi n/2} and measure logical YY. Find the output and outcome. Extend the measurement to be complete for arbitrary oscillator inputs.

Solution

On the code, U=diag⁡(1,−i)=S†U=\operatorname{diag}(1,-i)=S^\dagger. Therefore

U∣+⟩=∣0⟩−i∣1⟩2=∣y−⟩,Y∣y−⟩=−∣y−⟩.U|+\rangle=\frac{|0\rangle-i|1\rangle}{\sqrt2}=|y_-\rangle, \qquad Y|y_-\rangle=-|y_-\rangle.

The outcome is −1-1 with unit probability, with no leakage. The mean photon number is 1/21/2. This example uses one phase operation and one terminal measurement; it establishes neither error correction nor universality.

Writing Π±=W∣y±⟩⟨y±∣W†\Pi_\pm=W|y_\pm\rangle\langle y_\pm|W^\dagger, the two projectors sum to PP, not the full identity. A complete oscillator measurement has Lüders Kraus operators Π+\Pi_+, Π−\Pi_- and QQ, with a third outcome for states outside the code. That third outcome has zero probability for the present input and gate.

  • V. V. Albert, K. Noh, K. Duivenvoorden, D. J. Young, R. T. Brierley, P. Reinhold, C. Vuillot, L. Li, C. Shen, S. M. Girvin, B. M. Terhal, and L. Jiang, “Performance and structure of single-mode bosonic codes,” Physical Review A 97, 032346 (2018), doi:10.1103/PhysRevA.97.032346.
  • D. Gottesman, A. Kitaev, and J. Preskill, “Encoding a qubit in an oscillator,” Physical Review A 64, 012310 (2001), doi:10.1103/PhysRevA.64.012310.
  • A. L. Grimsmo, J. Combes, and B. Q. Baragiola, “Quantum Computing with Rotation-Symmetric Bosonic Codes,” Physical Review X 10, 011058 (2020), doi:10.1103/PhysRevX.10.011058.
  • E. Knill, R. Laflamme, and G. J. Milburn, “A scheme for efficient quantum computation with linear optics,” Nature 409, 46–52 (2001), doi:10.1038/35051009.