The piecewise-linear skeleton of the signal — how many distinct linear regimes it passes through, how diverse their slopes are, and how much area it sweeps above its running minimum envelope.
Originally motivated by tropical (min-plus) algebra — where multiplication-becomes-addition turns smooth curves into piecewise-linear ones — but the implementation uses standard numerical differencing throughout. slope_changes is a second-derivative threshold count; envelope_area is the sum of x − running_min (the running min is the one tropical-zero operation in the geometry); unique_slopes counts distinct rounded windowed slopes. The class is still named TropicalGeometry for backwards-compatibility, but the geometry surfaces as "Piecewise-Linear" to match what the code actually does.
How many times does the signal change its linear regime? Thue-Morse, Fibonacci Word, Kolakoski Sequence, Logistic Edge-of-Chaos, and Logistic Period-2 all hit 16,382 (maximum for the sample size — essentially every point is a slope change). Smooth continuous-time systems — Van der Pol, Duffing, Hénon-Heiles, Berry Random Wave, Damped Pendulum — score 0 (no second-derivative threshold crossings). Separates "jagged" dynamics (symbolic, discrete chaotic, quasicrystalline) from "smooth" dynamics (oscillators, ODE attractors).
How many distinct slope values appear in windowed segments? Logistic Chaos, Hénon Map, macOS Mach-O bytes, Gzip-1, and Logistic r=3.68 reach 21 (maximum diversity — every possible local gradient bucket is visited). Logistic Period-5, Partition Function, Primes, Rudin-Shapiro, and Temperature Drift score 1.0 (single dominant slope). Measures the "vocabulary" of the signal's piecewise-linear representation.
Sum of (signal − running_min). Forest Fire (15,969) dominates: its bursty avalanche dynamics create tall, wide excursions above the cumulative minimum. Stern-Brocot Walk (11,557), Symbolic Hénon (10,847), Earthquake Intervals (10,572), and Takagi Function (10,401) follow. Rainfall (34) and constants (0) sit at the floor — they hug their own minimum. Captures global excursion magnitude that the local slope metrics miss.
| Source | Domain | Value |
|---|---|---|
| Forest Fire | exotic | 15968.9621 |
| Stern-Brocot Walk | number_theory | 11557.4676 |
| Symbolic Henon | exotic | 10846.8000 |
| ··· | ||
| Constant 0x00 | noise | 0.0000 |
| Rainfall (ORD Hourly) | climate | 34.0349 |
| Neural Net (Pruned 90%) | binary | 363.9101 |
| Source | Domain | Value |
|---|---|---|
| Thue-Morse | exotic | 16382.0000 |
| Kolakoski Sequence | exotic | 16382.0000 |
| Stern-Brocot Walk | number_theory | 16382.0000 |
| ··· | ||
| fBm (Persistent) | noise | 0.0000 |
| Sine Wave | waveform | 0.0000 |
| Takagi Function | exotic | 0.0000 |
| Source | Domain | Value |
|---|---|---|
| Logistic Chaos | chaos | 21.0000 |
| Gzip (level 1) | binary | 21.0000 |
| macOS Mach-O (dyld) | binary | 21.0000 |
| ··· | ||
| fBm (Persistent) | noise | 1.0000 |
| Temperature Drift | climate | 1.0000 |
| Takagi Function | exotic | 1.0000 |
This geometry provides a complexity fingerprint that's independent of the signal's amplitude distribution. Two signals with identical histograms can have completely different piecewise-linear profiles if one is smooth and the other is jagged. In the atlas, slope_changes is tightly correlated with ordinal transition_entropy (both measure local variability), but envelope_area captures a global excursion property no ordinal metric touches. The geometry sits in the symmetry view where it separates bursty processes (Forest Fire, Stern-Brocot, Symbolic Hénon) from smooth oscillators along the envelope axis.