One measured number, taken over and over, contains the shape of the hidden system that made it. Takens' theorem says how to get it back: stack delayed copies of the record into a vector and the folded-over trace stretches out into a space of higher dimension where its trajectories no longer cross. This bench lets you watch that happen. Choose a signal, including the three nerve-cell behaviors Jorgensen builds his computing architecture from, in Izhikevich's canonical model; turn the delay and the dimension; watch the record unfold from a line into a two-, three- and higher-dimensional attractor; then read its recurrence plot the way his paper teaches. A fourth and fifth instrument bring in Schramm–Loewner evolution, in both directions: one real-valued signal drives the growth of a curve in the plane whose dimension, 1 + κ/8, rises above one when the signal is rough. Every readout is computed live from the formulas beside it.
Jorgensen's bio-oscillator architecture is built from three nerve-cell behaviors: bursters, which answer complicated time-and-phase patterns with a packet of spikes; resonators, which amplify small signals at one frequency for a limited time because they are damped; and oscillators, which lock together and keep going once switched on, which is what makes them a memory. All three come out of one two-variable equation, Izhikevich's canonical spiking model, by changing four parameters. The equation is integrated live below; the membrane potential v is the single measured variable the rest of the bench works from.
Izhikevich 2003 Parameters (a, b, c, d) select the cell type; I is the injected current. Jorgensen's drafts cite the earlier canonical-model work (Hoppensteadt and Izhikevich); the later simple model used here is the same family reduced to one equation that reproduces twenty known firing patterns. The heart-like and chaotic presets are there so you can see what a three-dimensional attractor looks like next to a limit cycle.
Left: the measured variable. Right, for the neuron presets: the trajectory in the (v, u) plane, which is the true two-dimensional state the bench will try to recover from v alone. A burster's loop has a slow drift in u that a single spike train hides; a resonator rings below threshold; an oscillator's loop closes on itself. The point of the next instrument is that you do not need to see u to get this picture back.
Whitney showed that any n-dimensional manifold can be embedded without self-crossings in 2n+1 dimensions. Takens showed that you do not need 2n+1 separate measurements to do it: delayed copies of one measured variable will serve. Build, for every moment, the vector of the present value and its values τ, 2τ, … (m−1)τ ago. For almost every smooth measurement and a large enough m, the cloud of those vectors is a faithful copy of the hidden attractor, topology and all. Jorgensen's phrase for it is exact: a manifold awkwardly compressed into too few dimensions is completely unfolded, stretched out, in a larger space where no two points land on the same spot.
Choosing τ and m The bench uses the two standard recipes his paper names. The delay τ is the first minimum of the average mutual information between s(t) and s(t−τ), so that successive coordinates are as independent as possible without losing the connection. The dimension m is the smallest at which the false-nearest-neighbor fraction falls to about zero (below 1 % here, using both of Kennel's criteria): neighbors that were only neighbors because the fold squeezed them together fly apart when the next dimension is added. A spiking record keeps a floor of a few percent from the reset at each spike, which is a discontinuity no smooth embedding removes, so for the neuron presets the bench takes the dimension at which the curve levels off. Beyond m = 3 the bench shows the first three principal axes of the m-dimensional cloud, so the stretch in the higher dimensions is still visible.
Center: the delay vectors, one per sample, joined in time order. Turn stretch from 0 to 1 to watch the record unfold from the flat line it was measured as into the embedding; at m = 2 it is a plane, at 3 a volume, above 3 a projection of the higher cloud onto its principal axes. Where the curve crosses itself the embedding is too small; where it stops crossing, you have the attractor. Right: the two curves that choose τ and m. The correlation dimension plateaus once m is large enough; for a limit cycle it sits near 1, for a chaotic attractor between 2 and 3, for noise it keeps climbing with m.
With the attractor rebuilt, ask of every pair of moments whether the system was in nearly the same state. The square of answers is the recurrence plot, and its texture is the fingerprint Jorgensen read in pilots and that the console's recurrence bench (instrument 01·D) applies to the spacing of the three-orb footage. The measures count the texture: determinism from the diagonal lines, laminarity and trapping time from the vertical ones, entropy from the spread of line lengths. The radius ε is set as a fraction of the embedded cloud's spread.
The plot uses the τ and m set on the unfolding dial, so turning the dimension changes the texture here too: the same record at too small an m shows lines perpendicular to the main diagonal, Jorgensen's sign of a wrong embedding, and they vanish when m is right. The window knob limits the plot to the last part of the record so long signals stay readable.
Takens recovers a hidden shape from one measured number. Schramm–Loewner evolution runs the other way: it takes one real-valued signal, the driving function W(t), and grows from it a curve in the plane. Loewner's equation describes the growing curve through the conformal map gt that straightens it back onto the real line; at each instant the tip of the curve sits where the map sends the current value of the driver. In 1999 Oded Schramm showed that if the driver is Brownian motion with variance rate κ, the curve that grows is exactly the random interface found at the critical point of a whole family of physical systems, and a single number, κ, decides which one.
Increased dimensionality, stated precisely This is the exact sense in which a signal “stretches out” into more dimensions. The driver lives on a line. The curve it grows has a Hausdorff dimension of 1 + κ/8 (Beffara, 2008): a smooth line at κ = 0, a fractal for 0 < κ < 8, and a curve so crumpled it fills area at κ ≥ 8. The extra dimension is not a new direction of space; it is how much of the plane the curve explores. The bench measures it by box counting and compares it with 1 + κ/8.
Left: the curve in the upper half-plane, colored from start (green) to tip (magenta), grown by composing Loewner's slit maps one time step at a time. Top right: the driving function that made it. Bottom right: the number of boxes of side ε the curve touches, against 1/ε on log axes; the slope is its dimension. Drive with the signal feeds the bench's own record from instrument 01 into Loewner's equation, scaled so that its quadratic variation at this resolution equals the κ on the dial, so it can be compared with SLEκ like for like. What then decides the curve is the signal's roughness exponent H, read from how its increments grow with lag. Brownian motion has H = ½ and grows SLE. A smooth record has H near 1: its roughness is only an artifact of the sampling, so its curve straightens as the steps are refined. A white-noise record has H near 0 and folds back on itself. Higher dimension, in the scaling sense, needs a driver that stays rough at every scale.
Instrument 04 grows a curve from a signal. This one runs the arrow the other way, which is how SLE is used on real data and, in Jorgensen's phrase, where its secret sauce is. Start from a curve that the data itself contains: a boundary between two regions, an interface, the zero-field contour on a magnetic map of the chest. Peel it back onto the real line one small piece at a time with the zipper algorithm, and record where each piece lands. That record is the driving function the curve would have needed. If it is Brownian, the whole two-dimensional curve has been reduced to one number, κ, and κ names the universality class: which family of physical systems the data belongs to. This is how two-dimensional turbulence was found to hide percolation geometry, κ = 6, in its vorticity contours.
How to read the answer A curve made on a lattice or a sensor grid is smooth below its pixel size, so at the finest scales κ̂ always reads low. The signature of SLE is a plateau: as the scale Δt grows past the grid, κ̂ rises and then levels off at the curve's true κ, and the normalized increments of the driver look Gaussian and uncorrelated. A curve with no plateau, or with strongly correlated increments, is not SLE, and the bench says so. Single curves are noisy at large scales, because a curve contains only a few independent increments at the plateau scale; the averaged readout carries a 95 % confidence range that narrows as samples are added. In the bench's own tests, twenty-five blind SLE4 samples read 4.0 ± 0.4. Twenty-five percolation samples on the default 60-site domain read about 5.1 ± 0.4, below the exact 6: a lattice curve this short has not yet reached its scaling limit at the plateau scale. That finite-size bias is real and is the main thing to control when the method meets real data.
Left: the curve, with the real line along the bottom. In draw mode, press on the real line near the gold marker and draw upward; in pasted mode, supply x,y vertices of a curve extracted from your own data, starting at the origin. Top right: the driving function the zipper extracted, against capacity time. Bottom right: κ̂ against the scale it is measured at, with the plateau window shaded and the classical values marked. The chest field map is synthetic: the zero-field contour of a dipole-like map of the kind an optically pumped magnetometer array records, with noise of adjustable strength and correlation length. With no noise the contour is smooth and κ̂ ≈ 0. With strong, short-correlated noise it becomes a percolation-like interface and κ̂ rises toward the percolation value at scales above the correlation length, subject to the same finite-size bias as the percolation preset. Whether real cardiac field maps show a plateau, and at what κ, is the open question this instrument is built to ask.
Every record analyzed on this bench can be saved to a shared library held in a private database behind this page, so a study builds up over time instead of disappearing when the tab closes. A record is a time series (one value per sample) or a curve (x,y vertices starting on the real line). For each one the bench runs a dimensional sampling: the embedding dimensions 1 to 8 with their false-nearest-neighbor fractions, the correlation dimension at each, the recurrence measures at the suggested embedding and one either side of it, the roughness exponent, the same measures on consecutive windows to show whether the record is stationary, and, for curves, the inverse-Loewner κ with its confidence range. The results are written back into the record, and the whole sampling downloads as a report.
Access code required for the shared library The shared library needs an access code. Analysis does not: everything on this bench, including the dimensional sampling and the HTML, CSV and JSON report downloads, works without a code, entirely in your browser. The code only unlocks saving records to, and loading them from, the shared library. If you have a code, enter it once under Library; it is remembered on this device only. Saved records are shared with everyone who has the code. If you do not have one, you lose nothing but the saving: nothing you paste is stored or sent. Please do not store anything that identifies a person: give records neutral names and keep any identity key outside the library. For access, write through the contact page on bryaningram.com.
Records in the library are shared with everyone who has the code. Never save data that identifies a person.
Left of the chart: the false-nearest-neighbor fraction (bars) and correlation dimension D₂ (line) for each embedding dimension, the dimensional sampling proper. Right: the suggested dimension and determinism on consecutive windows of the record; a flat row means the record is stationary and one embedding describes it, a drifting row means the hidden system changed during the recording, which in Jorgensen's pilot study is the signal of interest. The HTML report is self-contained and prints cleanly; the CSV has one row per sampled quantity; the JSON carries everything, for other tools.
His pilot paper collects the interpretive rules that have emerged across the recurrence literature. They are reproduced here, with the preset on this bench that shows each one.
A system has a two-dimensional hidden state. How many simultaneous measurements does Whitney's theorem ask for to embed it, and how many does Takens let you replace them with? Confirm on the bench with the oscillator preset: at what m do the false nearest neighbors fall to about zero?
Set the Lorenz preset, m = 3, τ at the suggested value, and turn stretch slowly from 0 to 1. Describe what happens to the crossings. Then set m = 2 and explain why the two lobes still overlap.
With any neuron preset, set τ = 1 and then τ far beyond the suggested value. What does the attractor look like in each case, and why does mutual information pick the value in between?
Run the oscillator, burster and resonator presets through the unfolding and the recurrence plot at suggested τ and m. Which has the highest determinism, which the longest trapping time, and which shows white bands? Relate each to Jorgensen's assignment of feature detection, amplification and storage.
Set the noise preset and increase m from 2 to 8, watching the correlation dimension. Then do the same with the Lorenz preset. What distinguishes a deterministic attractor from noise in that readout?
Paste a record of your own, a heart-rate trace, a tracked position, a dial on an instrument. Find τ and m, read D₂, and read the recurrence plot against the guide above. What does the bench tell you about the number of independent things the hidden system is doing, and what can it not tell you?
On the Loewner bench, grow curves at κ = 2, 8/3, 4, 6 and 8 and compare the measured dimension with 1 + κ/8. At which κ does the curve first touch itself, and at which does it start to fill area?
Switch the Loewner bench to “drive with the signal” at κ = 4 and feed it the oscillator, the Lorenz record and noise in turn, reading the roughness exponent H each time. Then raise the time steps from 400 to 1600. Which record's curve keeps its dimension as the steps are refined, and why?
On the inverse bench, set a true κ, grow and unzip eight samples, and compare the averaged κ̂ with the truth. Then switch to percolation, whose interface is known to be SLE6, and do the same. Why does the lattice curve need the plateau window when the SLE curve does not?
Use the chest field map with noise 0, then 1.5 with correlation length 0, then 1.5 with correlation length 5. What κ̂ do you read each time, does the Brownian test pass, and what would it mean if a real magnetocardiography map gave a clean plateau?
The Unfolding Bench is an open, browser-based instrument for recovering hidden structure from measured signals: delay embedding after Takens, recurrence quantification after the recurrence-analysis methods Jorgensen applied to pilot heart-rate variability, and Schramm–Loewner evolution in both directions. Every analysis runs in your browser; nothing you paste leaves it unless you save it to the shared library, a private database reached only with the access code and visible to everyone who has that code. Every number on the page is computed live from the formulas shown, and each instrument says where it simplifies.
It is a research and teaching instrument. It is not a medical device, and nothing it reports is a diagnosis.
Ingram, B. M. (2026). The Unfolding Bench: delay embedding, recurrence quantification and Schramm–Loewner evolution for measured signals [Interactive software]. bryaningram.com. After methods in Jorgensen, recurrence analysis of pilot heart-rate variability (unpublished work, cited with permission).
Questions, data to test, or a curve that breaks the method: bryaningram.com. Reports downloaded from section 06 carry their method and parameters so results can be reproduced.