TL;DR We pre-train one functional autoencoder (FAE) on synthetic functions only, freeze it, and reuse its latent space for every operator. It reconstructs PDE solutions and photographs on geometries it never saw, its latent space is interpretable, and operators trained on cached embeddings are orders of magnitude more efficient to train and to infer than state-of-the-art end-to-end models, without losing accuracy.
On one RTX 4090 (24 GB), with variable geometry and the partitioning included.
Projections: the memory measured on one RTX 4090 grows affinely with the partitions and the processor depth; extrapolated to 768 GB, 32 times one RTX 4090, assuming the memory is pooled by sharding the model and the batch across the eight cards.
One FAE, trained once and without labels, turns any function on any point cloud into points on a hypersphere and back. A small region of a field becomes one embedding; a whole field becomes one embedding per region, each seen in a common local frame; and an operator learns to move these embeddings across the hypersphere instead of the field itself.
Trained only on smooth analytic functions on a disk, the same weights reconstruct shocks, shear layers, waves and photographs. Drag across a panel to compare the input with its reconstruction, and switch the number of partitions to watch the detail come in.
Errors are measured at the input points. Photographs from Wikimedia Commons; credits.
The chord between the embeddings of two anchor fields that differ by one operation is a direction. Added to the embedding of a different field, it applies the same operation. Scroll over the field or drag the slider.
Partitions and their normalization carry a field into the familiar band of the training functions, provided it is sampled finely enough to be partitioned, so one backbone serves fluids, solids, waves and images on unseen geometries.
A dataset is encoded once and an operator trains on its cached embeddings, so a training step no longer passes through the points, and far larger models train and infer on far larger problems. One backbone, trained once, serves every task at no extra cost.
The whole latent space is used and decodes to valid fields, latent distances preserve the order of distances between the decoded fields, geodesics interpolate evolutions, and edit directions transfer.
The representation is exactly equivariant to translation, dilation and amplitude: the static frame stores them, the embedding carries only the shape.
An incompressible flow evolves over 20 steps. The anchors are Δt snapshots apart; every state in between is decoded from the great circle (SLERP) between the two nearest anchor embeddings, without any operator. On the globe, the physical evolution traces a curve, and the geodesics cut across it.
Between anchors close in time, the geodesic stays within a few percent of the true flow: the embedding preserves the geometry of the evolution. Spread the anchors (Δt = 10) and the shortcut drifts off the physical path: over longer intervals, following the physical path is the job of a learned operator.
Nine demos run the frozen 128-dimensional analysis backbone on a small CPU server. Every demo comes with pre-computed samples that show at once; your own inputs are queued and run one at a time.
One field turns into another on the sphere.
Open →Move an edit from two anchors to a new field.
Open →The nearest of 2,300 functions in the latent space.
Open →Exact gradients of the decoded field.
Open →Type or paint a function; see it encoded and decoded.
Open →From a coarse grid or a few pixels to a fine grid.
Open →Paint holes; decode every pixel from the rest.
Open →See a field through a window; decode it beyond.
Open →Turn one embedding at random; decode the variants.
Open →Three mini-games built on the ideas of the paper test your understanding of its concepts, each with a leaderboard of the scores of other players.
Read our articles to learn more about Daedalus. Every article discusses a specific topic and includes interactive visualizations.
A short tour for a first read: partitions and their frames, the functional autoencoder, and the operators learned on its latent space.
Read →Operators learned on the frozen latent space: their accuracy across datasets, their speed and their memory.
Read →Geodesics between embeddings, directions that carry an edit to other fields, and a slice of the latent sphere.
Read →Rollouts that stay in the latent space, and chunked inference for problems larger than the device.
Read →One number for how hard a field is, and the measurement showing that it, not the kind of function, decides the error.
Read →The encoder and the decoder, the update that keeps every embedding on a sphere, weight-shared depth and the two backbones.
Read →Physics fields, photographs and curves the backbone never saw, and how their error falls with the partition count.
Read →How a point cloud is cut into partitions by k-means started from a space-filling curve, and how overlap widens them.
Read →The local frame of every partition, the static features it stores, and the invariances it gives the codes.
Read →The exact gradient of any decoded field, with one forward-mode pass per coordinate axis.
Read →@article{mousavi2026daedalus,
title={Self-Supervised Learning of Universal Latent Spaces for Operator Learning},
author={Sepehr Mousavi and Levi Lingsch and Siddhartha Mishra and Laura De Lorenzis},
year={2026},
eprint={2611.05735},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2611.05735},
}