The Mach–Zehnder Interferometer

Electronics has the transistor; photonics has the Mach–Zehnder interferometer (MZI). It is the one device this entire course keeps reaching for: the modulator that puts bits onto a laser beam in every datacenter link, the 2×2 switch inside optical routing fabrics, and — as the next module will show — the elementary "gate" from which programmable photonic matrix processors are tiled. Its trick is disarmingly simple. Light in a waveguide carries a phase, but no detector can see phase directly — a photodiode measures only power. The MZI converts phase into power. It splits light onto two paths, lets the paths accumulate different phases, and recombines them so that the two copies interfere: in step, the light exits one port at full strength; out of step, it exits the other. A phase you cannot see becomes a brightness you can.

Everything the device needs, the last module already built: a directional coupler to split and recombine, two waveguide arms, and enough coherence that the reunited copies still remember their common origin.

Anatomy: split, shift, recombine

On a silicon chip the whole structure is a few hundred micrometres of waveguide. Light enters one port of a 50:50 coupler and emerges as two equal copies. The copies travel down separate arms, one of which carries a phase shifter — any element that changes the optical path length, by a controllable phase \varphi (how phase shifters actually work is the next lesson's business). A second 50:50 coupler then folds the two copies back together onto two output ports, conventionally called the cross port and the bar port.

Two copies of one wave, reunited after different journeys — the on-chip descendant of Young's double slit, with the far-field fringes replaced by two tidy waveguide ports.

The transfer function

Follow the field with phasors. Write the input amplitude as 1. An ideal 2×2 coupler hands each output 1/\sqrt{2} of the amplitude, tagging the crossed-over copy with a factor i (a quarter-turn of phase — the coupler's fingerprint). One arm then multiplies its copy by e^{i\varphi}. Recombining at the second coupler and collecting terms, the powers at the two ports come out as:

The curve below is the device's whole personality. Drag the slider to un-balance the couplers — real fabrication never delivers exactly 50:50 — and watch what happens to the dark states:

With perfect couplers the nulls are total: the interferometer can switch a port fully dark. With K \neq 0.5 the two interfering copies have unequal amplitudes, their cancellation is incomplete, and the "dark" port bottoms out at (1 - 2K)^2. Engineers quote this as the extinction ratio, P_{\max}/P_{\min} in decibels; a good silicon MZI reaches 20–30 dB, and chasing the last few dB of extinction is a running theme in modulator and mesh design.

Worked example: reading the dial

Suppose the phase shifter is set to \varphi = 120^\circ. Then

P_{\text{cross}} = \cos^2 60^\circ = 0.25, \qquad P_{\text{bar}} = \sin^2 60^\circ = 0.75 .

A quarter of the power exits one port, three quarters the other — the MZI is a continuously adjustable power divider, not just an on/off switch. Three settings are worth memorising as reflexes: \varphi = 0 (all cross), \varphi = \pi (all bar), and \varphi = \pi/2 (an even 50:50 split). And because \varphi = 2\pi\,n_{\text{eff}}\Delta L/\lambda depends on wavelength, a fixed built-in path imbalance turns the same device into a wavelength filter: colours for which the arms differ by a whole number of wavelengths exit one port, colours half a wavelength out of step exit the other. One geometry, three careers — switch, dimmer, filter.

You can run the phasor arithmetic yourself. The program below pushes a field through coupler–phase–coupler as three 2×2 complex matrix multiplications — the exact calculation, not the summary formula — and checks it against \cos^2(\varphi/2):

type C = { re: number; im: number }; // a complex number const c = (re: number, im = 0): C => ({ re, im }); const add = (a: C, b: C): C => c(a.re + b.re, a.im + b.im); const mul = (a: C, b: C): C => c(a.re * b.re - a.im * b.im, a.re * b.im + a.im * b.re); type M = C[][]; // 2x2 complex matrix const apply = (m: M, v: C[]): C[] => [ add(mul(m[0][0], v[0]), mul(m[0][1], v[1])), add(mul(m[1][0], v[0]), mul(m[1][1], v[1])), ]; const s = 1 / Math.sqrt(2); // ideal 50:50 coupler: const coupler: M = [ [c(s), c(0, s)], // straight-through amplitude s, [c(0, s), c(s)] ]; // crossed amplitude i*s function mziCrossPower(phiDeg: number): number { const phi = (phiDeg * Math.PI) / 180; const phase: M = [ [c(Math.cos(phi), Math.sin(phi)), c(0)], // e^{i phi} on the top arm [c(0), c(1)] ]; let v: C[] = [c(1), c(0)]; // all light enters port 1 v = apply(coupler, v); v = apply(phase, v); v = apply(coupler, v); return v[1].re * v[1].re + v[1].im * v[1].im; // |amplitude|^2 at the cross port } for (const deg of [0, 60, 90, 120, 180]) { const exact = mziCrossPower(deg); const formula = Math.cos((deg * Math.PI) / 360) ** 2; console.log(deg + "° matrix: " + exact.toFixed(4) + " cos²(φ/2): " + formula.toFixed(4)); }

That the device is three matrix multiplications is not a curiosity — it is the pivot on which the whole course turns. The next module will read the MZI as its matrix and start composing.

The layout was proposed independently in the early 1890s by Ludwig Zehnder and by Ludwig Mach — son of Ernst Mach, of shock-wave and speed-of-sound fame. Their motivation had nothing to do with computing: with the two arms widely separated, you could park a candle flame or a gas cell in one arm and read tiny refractive-index changes as fringe shifts, which made the instrument a workhorse of wind tunnels and flow physics for a century. Its more famous cousin, built by Albert Michelson, folds the geometry in half with mirrors so the light retraces its own path — the design that ruled out the luminiferous aether in 1887 and, scaled to four-kilometre arms, detected gravitational waves at LIGO in 2015. Integrated photonics settled on the Mach–Zehnder rather than the Michelson form for a prosaic engineering reason: it is a feed-forward device. Light goes in one end and out the other, no light is reflected back toward the source, and the two clean output ports are exactly what you want when the next stage is another chip component rather than a human squinting at fringes.

A destructive-interference null looks like disappearing light, and "light + light = darkness" is regularly written up as if energy were being annihilated. It never is. Look again at the transfer function: P_{\text{cross}} + P_{\text{bar}} = 1 at every phase. When the cross port goes dark, the interference is simultaneously constructive at the bar port — the coupler's i fingerprint guarantees the two ports are always exactly out of step. Interference redistributes energy; it cannot destroy it. The confusion usually comes from diagrams that draw only one output. Whenever a single-output interferometer seems to "lose" light at its null, the missing power has gone somewhere real — out the unlabelled second port, or back toward the source, as in a Michelson. Keep this reflex handy: in Module 4 it becomes the reason a lossless photonic mesh is described by a unitary matrix — unitarity is energy conservation, written in linear algebra.

Where this goes next

The MZI turns phase into power; everything now hinges on how well you can set that phase. The next lesson opens up the phase shifter itself — heaters, junctions and Pockels materials, and the speed–power–loss trade-offs that decide whether an MZI is a millisecond-scale trimmer or a 100-gigabit modulator. From there, a resonant cousin (the microring) and then Module 4, where MZIs assemble into meshes that multiply matrices at the speed of light.