All successful technologies are based on harnessing a specific resource, such as energy, electricity or information. The ability to generate, control, transform and ultimately, find useful applications for quantum resources, is central to the development of quantum technologies1,2,3,4.

Controlling the simplest quantum systems, the qubit, is relatively straightforward5,6. We can achieve complete control over the 2-dimensional Hilbert space of a qubit with rotations generated by Pauli matrices X and Z. The natural next step is to go to d-dimensional systems, or qudits. In this case we have the generalised Pauli matrices Xd and Zd. Progressing in this direction, we need to find physical implementations for qudits, together with the experimental ability to control them.

Orbital angular momentum (OAM) is one of the most used implementations for photonic qudits. Photon states \(|\ell \rangle \) carry an OAM of \(\ell \hslash \), where \(\ell =0,\pm \,1,\pm \,2,\ldots \) is a theoretically unbounded integer. OAM states have a helical phase front, with \(\ell \ne 0\) corresponding to the number of helices.

Photonic OAM states have been used in entanglement generation7,8,9 and alignment-free quantum key distribution10,11. Thus OAM is attractive since it allows us to use a larger alphabet to transmit quantum information with a single photon. However, without the appropriate tools, a larger alphabet for encoding information has only a limited functionality. This brings us to the problem of how to implement efficiently the generalised Pauli operators Xd and Zd for qudits12.

For photonic OAM states, Zd can be implemented with Dove prisms. An open question is how to implement a cyclic permutation Xd for any dimension d. Experimentally, cyclic Xd gates for OAM states have been realised only for \(d=4\)13 and \(d=5\)14.

In this article we propose a general scheme to perform cyclic permutations Xd for any set of d consecutive states. We then generalise it for cyclic permutations Xd(p) of an arbitrary set of d, equally spaced states \(\{|{\ell }_{0}\rangle ,|{\ell }_{0}+p\rangle ,\ldots ,|{\ell }_{0}+(d-1)p\rangle \}\). For any dimension d, the minimal implementation of both Xd and Xd(p) requires a single sorter Sd and two spiral phase plates (SPPs)15,16,17,18. To arrive at this setup, we use quantum information methods and quantum network analysis. This approach has been employed previously to design a universal quantum sorter19 and spin measuring devices20,21.

We focus on OAM encoded qudits, as several experimental tools are already available22,23,24,25,26,27,28. Nevertheless, our scheme can be extended in principle to other degrees of freedom as well.


Cyclic X d gate

We now introduce our setup for performing the cyclic gate. Let \({ {\mathcal H} }_{d}\) be the Hilbert space of a qudit, \({\rm{\dim }}\,{ {\mathcal H} }_{d}=d\) and let \(\{|j\rangle {\}}_{j=0}^{d-1}\) be an orthonormal basis of \({ {\mathcal H} }_{d}\). The generalised Pauli operators Xd, Zd are defined as:

$${X}_{d}:\,|j\rangle \mapsto |j\oplus 1\rangle $$
$${Z}_{d}:\,|j\rangle \mapsto {\omega }^{j}|j\rangle $$

with \(\oplus \) addition mod d and \(\omega ={e}^{2\pi i/d}\) a root of unity of order d. The gate Xd performs a cyclic permutation of the basis states, i.e., maps the set \(\{|0\rangle ,|1\rangle ,\ldots ,|d-1\rangle \}\) to \(\{|1\rangle ,|2\rangle ,\ldots ,|0\rangle \}\).

Our scheme for the Xd gate is shown in Fig. 1. The main element of our proposal is a d-dimensional sorter Sd introduced in refs19,29. A quantum sorter Sd is a device which directs an incoming particle into different outputs (i.e., sorts) according to the value of an internal degree of freedom \({\rm{\Sigma }}\). In the following we take \({\rm{\Sigma }}\) to be orbital angular momentum (OAM). Nevertheless, the setup is general and can be implemented for other variables as well, like wavelength19 or radial quantum number30,31.

Figure 1
figure 1

Cyclic Xd gate. The gate performs the transformation \(|i\rangle \mapsto |i\oplus 1\rangle \) on a qudit. (a) Equivalent quantum network. Spatial modes are used as a qudit ancilla, which is factorised before and after the gate, i.e., starts and ends up in the state |0〉m. There are two SPPs of order +1 and −d (green) and two C(Xd) gates (cyan). The SPP(−d) acts only on mode 0 (open circle on the control mode qudit). (b) Implementation. Photons enter from the left and all OAM states are shifted by SPP(+1). The sorter Sd redirects each state to the corresponding output. The state \(|d{\rangle }_{OAM}\) exits on spatial mode 0 and after the SPP(−d) becomes \(\mathrm{|0}{\rangle }_{OAM}\); all other OAM states \(|j\rangle \), \(j\ne d\), are left invariant. Finally, all states enter the inverse sorter \({S}_{d}^{-1}\) and end up in the same spatial mode |0〉m.

The quantum sorter Sd is formally equivalent to a controlled-Xd gate between the degree of freedom we want to sort (OAM, \({\rm{\Sigma }}\) etc) and spatial modes m, see Fig. 2:

$${S}_{d}\,:\,=C({X}_{d}):\,|i{\rangle }_{OAM}|j{\rangle }_{m}\mapsto |i{\rangle }_{OAM}|j\oplus i{\rangle }_{m}$$

where \(|i{\rangle }_{OAM}\), \(|j{\rangle }_{m}\) are OAM and mode qudits, respectively. Thus a photon in OAM state \(|i\rangle \) incident on port (mode) 0 will exit on port \((i\,{\rm{mod}}\,d)\) with unit probability.

Figure 2
figure 2

Universal quantum sorter Sd. Top: equivalent quantum network. The controlled-Xd gate C(Xd) is decomposed on Fourier gates F, F and a C(Zd) gate. Bottom: implementation as a multimode interferometer with path-dependent phase shifts \({Z}_{d}^{j}\) acting on the variable to be sorted \({\rm{\Sigma }}\).

Apart from the sorter Sd another ingredient are spiral phase plates15,16,17,18 of order n. The action of the SPP on OAM states is:

$${\rm{SPP}}(n):\,|i{\rangle }_{OAM}\mapsto |i+n{\rangle }_{OAM}$$

with \(n\in {\mathbb{Z}}\) integer. This transformation adds (or subtracts) n units of OAM. Since this is normal addition, it shifts the whole \({\mathbb{Z}}\) axis by n units.

We now discuss how the Xd gate in Fig. 1 works. The first SPP adds +1 to all OAM states. Then the sorter Sd directs each OAM state \(|i{\rangle }_{OAM}\) to the corresponding output \(|i\,{\rm{mod}}\,d{\rangle }_{m}\), eq. (3). Since sorting on modes is done modulo d, the state \(|d{\rangle }_{OAM}\) will exit on mode 0. Consequently, only the state on mode 0 needs to be shifted by −d; in terms of quantum networks, this is equivalent to a controlled-SPP(−d) gate, with the control on the mode \(k=0\) (open circle on control qudit in Fig. 1). After this operation the states from all spatial modes are recombined on mode 0 by the gate C(Xd)−1, which is nothing else but a sorter run in reverse \({S}_{d}^{-1}\). This decouples the OAM and mode qudits, such that the final state is factorised and the photon always exits on mode 0 with unit probability. Thus the gate in Fig. 1 performs the following sequence:

$$\begin{array}{lll}|i{\rangle }_{OAM}|0{\rangle }_{m} & \mathop{\to }\limits^{+1} & |i+1{\rangle }_{OAM}|0{\rangle }_{m}\\ & \mathop{\to }\limits^{{S}_{d}} & |i+1{\rangle }_{OAM}|i\oplus 1{\rangle }_{m}\\ & \mathop{\to }\limits^{-{d}^{[0]}} & |i\oplus 1{\rangle }_{OAM}|i\oplus 1{\rangle }_{m}\\ & \mathop{\to }\limits^{{S}_{d}^{-1}} & |i\oplus 1{\rangle }_{OAM}|0{\rangle }_{m}\end{array}$$

Since the ancilla is decoupled after the gate, an arbitrary superposition of OAM states transforms under the cyclic gate Xd as

$${\alpha }_{0}|0\rangle +{\alpha }_{1}|1\rangle +\ldots +{\alpha }_{d-1}|d-1\rangle \to {\alpha }_{d-1}|0\rangle +{\alpha }_{0}|1\rangle +\ldots +{\alpha }_{d-2}|d-1\rangle $$

Consequently, our scheme preserves coherence and can be used in arbitrary quantum algorithms.


Our implementation of the cyclic Xd gate requires two sorters Sd and two SPPs (of order +1 and −d, respectively). This result is important: the number of SPPs is constant (two), and thus independent of the qudit dimension d. A Michelson configuration simplifies this to a single sorter and two SPPs, see section below.

Each sorter Sd requires d − 1 phases Zd (on OAM) and two Fourier gates Fd, \({F}_{d}^{\dagger }\) on spatial modes19, Fig. 2. Fourier gates for spatial modes32,33,34,35 can be implemented in several ways.

In integrated optics the Fourier gate is performed by a single slab coupler36, e.g., as used in arrayed waveguide gratings (AWG)37. Commercially available AWGs containing Fourier gates have tens to hundreds of spatial modes (channels).

In bulk optics the Fourier transform can be implemented with a pair of confocal lenses with waveguides attached36. Alternatively, the Fourier gate can be decomposed in O(d2) linear optics elements (beamsplitters and phase-shifters)34,38,39. For \(d={2}^{p}\), \(p\in {\mathbb{N}}\), the Fourier transform on d modes can be implemented with \(O(\tfrac{d}{2}\,\mathrm{log}\,d)\) linear optical elements (beamsplitters and phase-shifters)32,40. The resource scaling for the Xd gate is summarised in Table 1.

Table 1 Resource scaling for the cyclic Xd gate.

We now briefly discuss possible implementations. Given the scaling discussed above and the current advances in photonics, we expect to have sizes d ~ 5 − 10 in bulk optics and d ~ 100 in integrated photonics.

Generalised X d gate

The previous setup implements a cyclic Xd gate on the set \(\{|0\rangle ,|1\rangle ,\ldots ,|d-1\rangle \}\). We now discuss two generalisations.

(i) Cyclic permutation for d consecutive values

The first generalisation is to perform a cyclic Xd gate on an arbitrary set of d consecutive OAM values \(\{|{\ell }_{0}\rangle ,|{\ell }_{0}+1\rangle ,\ldots ,|{\ell }_{0}+d-1\rangle \}\). From the general transformation of the sorter, we know that a state with OAM \({\ell }_{0}\), incident on spatial mode 0, will exit on spatial mode \(k={\ell }_{0}\,{\rm{mod}}\,d\). Thus the only modification of the scheme in Fig. 1 is to move SPP(−d) from mode 0 to mode k, Fig. 3(a).

Figure 3
figure 3

Generalised cyclic gate Xd(p). The gate performs a cyclic permutation on the set \(\{|{\ell }_{0}\rangle ,|{\ell }_{0}+p\rangle ,\ldots ,|{\ell }_{0}+(d-1)p\rangle \}\). There are two ways to correct for the initial state \({\ell }_{0}\): (a) by moving SPP(−pd) to spatial mode k, with \(k={\ell }_{0}\,{\rm{mod}}\,d\); (b) by inserting before and after the sorters two SPPs, SPP(−k) and SPP(k). Note that \(0\le k < d\).

A second method to perform the cyclic Xd gate on the set \(\{|{\ell }_{0}\rangle ,|{\ell }_{0}+1\rangle ,\ldots ,|{\ell }_{0}+d-1\rangle \}\) is to first shift all OAM states with −k, then perform the usual Xd gate, and finally shift back all states with +k, Fig. 3(b).

Importantly, the value of the shift k is bounded by the dimension d of the qudit and not by \({\ell }_{0}\), since \(0\le k < d\). This is noteworthy – although OAM with large values \(\ell =10010\) have been experimentally prepared41, SPPs with such large values are very difficult to manufacture. Therefore, for \(\ell \gg d\) we need to shift the state only with a much smaller value \(({\ell }_{0}\,{\rm{mod}}\,d) < d\), irrespective of the magnitude of \({\ell }_{0}\). Thus the same device can be used to perform the cyclic Xd gate on any set of d consecutive OAM states. In this case the only change is the position of SPP(−d) (for the first method), or adding two extra SPP(±k) (for the second method).

(ii) Cyclic permutation for d, equally spaced values

Let \(p\in {{\mathbb{N}}}^{+}\) be a positive integer. We now show how to implement a cyclic permutation with step p

$$\{|0\rangle ,|p\rangle ,\ldots ,|(d-1)p\rangle \}\mapsto \{|p\rangle ,|2p\rangle ,\ldots ,|0\rangle \}$$

We define the generalised gate Xd(p)

$${X}_{d}(p):\,|jp\rangle \mapsto |(j\oplus 1)p\rangle $$

with \(j=0,\ldots ,d-1\), \(p\in {{\mathbb{N}}}^{+}\) and \(\oplus \) addition mod d. The gate is characterised by two parameters: the qudit dimension d and the step p between two consecutive values; clearly \({X}_{d}(1)={X}_{d}\).

The implementation of Xd(p) uses the same architecture as before, but with a different sorter \({S}_{d}^{1/p}\): this directs each state \(|jp{\rangle }_{OAM}\) on a separate mode \(|j{\rangle }_{m}\). From the decomposition \({S}_{d}^{1/p}={F}^{\dagger }C({Z}_{d}^{1/p})F\), it follows that we can implement \({S}_{d}^{\mathrm{1/}p}\) with a setup similar to Fig. 2, but with different mode-dependent phases \({Z}_{d}^{j/p}\) inside the interferometer.

The setup for Xd(p) is shown in Fig. 3. As before, SPP(p) first shift all OAM states with p. The sorter \({S}_{d}^{\mathrm{1/}p}\) separates the states according to the OAM values, \(|jp{\rangle }_{OAM}|0{\rangle }_{m}\mapsto |jp{\rangle }_{OAM}|j{\rangle }_{m}\). Then SPP(−pd) maps \(|dp{\rangle }_{OAM}\mapsto |0{\rangle }_{OAM}\), after which the sorter \({S}_{d}^{-\mathrm{1/}p}\) combines back all states on mode |0〉m.

As before, we can implement a cyclic gate Xd(p) on an arbitrary set of equally spaced OAM values \(\{|{\ell }_{0}\rangle ,|{\ell }_{0}+p\rangle ,\ldots ,|{\ell }_{0}+(d-1)p\rangle \}\) in two ways, Fig. 3:

  1. (a)

    by moving SPP(−pd) on mode k, with \(k={\ell }_{0}\,{\rm{mod}}\,d\); or

  2. (b)

    by using two SPP(±k) before and after the sorters.

To summarise, for any dimension d and initial state \({\ell }_{0}\), the generalised gate Xd(p) requires only two sorters \({S}_{d}^{1/p}\), \({S}_{d}^{-1/p}\) and two spiral phase plates SPP(p), SPP(−pd).

Simplification: Michelson setup

We can further simplify our scheme if we use a Michelson instead of the Mach-Zehnder interferometer. In this case we need only one sorter \({S}_{d}^{\mathrm{1/}p}\), Fig. 4. The first part of the scheme is identical to the one discussed previously. The state \(|dp{\rangle }_{OAM}\) exits on spatial mode k and, after a reflection on SPP(−pd), becomes \(\mathrm{|0}{\rangle }_{OAM}\). All other OAM states undergo a double reflection on the retro-reflector R and remain unchanged. Finally, all states re-enter the sorter from the opposite direction, thus performing \({S}_{d}^{-\mathrm{1/}p}\), and end up in the same spatial mode |0〉m. A circulator C separates the output from the input. Note that a spiral phase plate acts as its inverse if the photon enters from the opposite direction; thus in Fig. 4(b) we need only a single SPP(−k).

Figure 4
figure 4

Michelson interferometer configuration for Xd(p) gate. This is the folded version of the Mach-Zehnder setup in Fig. 3. The state \(|dp{\rangle }_{OAM}\) exits on spatial mode 0 and after a reflection on SPP(−pd) becomes \(\mathrm{|0}{\rangle }_{OAM}\). All other OAM states \(|jp{\rangle }_{OAM}\), \(j\ne d\), are left invariant by a double reflection on retro-reflectors R. Subsequently, all states re-enter the sorter from the opposite direction, thus performing \({S}_{d}^{-\mathrm{1/}p}\), and end up in the same spatial mode |0〉m. A circulator C separates the output from the input. Cases (a and b) are equivalent to Fig. 3(a,b), respectively.


The ability to control higher-dimensional quantum systems is essential for developing useful quantum technologies. Due to coherence constraints, efficiency will play a key role in the success of real-life quantum protocols. In this article we designed implementations for cyclic permutations Xd in d dimensions, one of the building blocks for constructing arbitrary single-qudit gates. The scheme is deterministic, works at single-particle level and can be applied to arbitrary superpositions of qudit states. Regarding the resource scaling, both Xd and Xd(p) gates require a linear number of phase-shifts Zd. Remarkably, for any dimension d the number of spiral phase plates SPPs is two, thus constant.

Although our focus has been on orbital angular momentum, the method is general and can be adapted to other degrees of freedom. This will require a sorter Sd and shift gates (the equivalent of SPP) for the respective degree of freedom. Since a general scheme for a universal quantum sorter exists19, a future challenge to implement the cyclic gate Xd for a particular degree of freedom \({\rm{\Sigma }}\) is to find appropriate implementations for shift gates \(|i{\rangle }_{{\rm{\Sigma }}}\mapsto |i+n{\rangle }_{{\rm{\Sigma }}}\).

A possible application of the generalised cyclic permutation Xd(p) is quantum communication, e.g., in QKD protocols with Fibonacci coding for key distribution42,43.

Note added

While finishing this article we became aware of another method for performing Xd gates for OAM44.