PDELie — Specification (v0.x)#
Purpose#
pdelie is a modular system for:
Empirical Lie-symmetry diagnostics and supportability workflows for PDE data.
It is a library, not a project repo.
1. Scope#
Stable (v0.x)#
uniform rectilinear grids
Lie point symmetries
canonical polynomial
GeneratorFamilyparameterizationsalgebraic span and closure diagnostics for supplied polynomial
GeneratorFamilyobjectsruntime-only formula-backed generator records and empirical candidate-validation reports
frozen invariant, reporting, uniform-translation orbit, and materialized-orbit utilities
runtime-only downstream discovery bridge/result/workflow reports
runtime-only split/leakage provenance diagnostics over user-supplied partitions
narrow
xarray.Datasetscalar-variable ingestion and readiness reporting that still requires explicit metadatasynthetic + small benchmark PDEs, currently including Heat, Burgers, normalized short-horizon KdV, frozen scalar 1D Fisher-KPP reaction-diffusion, and frozen scalar 1D constant-coefficient advection-diffusion strong paths
Experimental#
neural generators
Python-callable generators and executable formula strings
weak-form derivatives and weak-form extensions beyond the frozen
v0.8weak residual report slice andv0.24supportability reporting layercustom KdV initial conditions, configurable KdV coefficients, general KdV regimes outside the frozen normalized short-horizon path, and weak KdV
broad dataset adapters, file-based dataset loaders, implicit metadata inference, resampling, and broad Dataset-level ingestion
broad discovery-backend frameworks, split management, leakage prevention, and heldout-leakage policy
multidimensional, multivariable, and nonuniform-grid stable expansion
operator-level symmetry methods
public multi-generator PDE fitting
multi-generator invariant charts, finite flows, BCH composition, and multi-parameter orbit atlases
2. Pipeline#
FieldBatch
→ DerivativeBatch
→ ResidualBatch (via ResidualEvaluator)
→ GeneratorFamily
→ InvariantMapSpec
→ VerificationReport
All modules MUST use canonical objects.
3. Canonical Objects#
FieldBatch#
Represents PDE data.
Constraints:
dims authoritative
ordering: (“batch”, “time”, spatial…, “var”)
uniform rectilinear grids only (V0.1 stable slice)
coords must define domain + centering
metadata must include BCs, grid type, parameters
DerivativeBatch#
Contains derivatives + provenance:
backend (
spectral_fdstable in V0.1;spectral/finite/weakreserved)smoothing parameters
boundary assumptions
ResidualEvaluator#
Interface:
evaluate(FieldBatch, DerivativeBatch?) → ResidualBatch
Defines symmetry target.
ResidualBatch#
residual values
residual type (analytic / weak / surrogate / operator)
normalization
GeneratorFamily#
parameterization type
schema_version (
"0.2"for canonicalv0.4family output)family-shaped coefficients
explicit basis_spec
normalization
optional generator names
diagnostics are non-authoritative summaries/provenance
Canonical meaning depends only on:
schema_version
parameterization
coefficients
basis_spec
normalization
optional generator names
v0.4 direct construction is canonical-only.
Legacy single-generator translation payloads are a narrow from_dict() compatibility path only.
Stable v0.5 runtime artifact note:
pdelie.portabilitymay wrap a canonicalGeneratorFamilypayload in a stable export/import manifest artifactthe manifest is not a canonical object
canonical meaning remains only the nested
GeneratorFamilystable
v0.5manifest validation rejects unknown top-level manifest fields
InvariantMapSpec#
single-generator metadata
construction method
parameters
validity (local/global/unknown)
inverse availability
diagnostics
Runtime-only for the stable v0.3 Milestone 1 slice:
InvariantApplier
VerificationReport#
norm
epsilon sweep
held-out evaluation
classification: exact / approximate / failed
4. Residual Ontology#
Symmetry is always defined relative to a residual.
No symmetry fitting is allowed without a residual.
5. Identifiability#
Generators MUST satisfy:
normalization (||X|| = 1)
comparison via span (not coefficients)
closure diagnostics if multi-generator
6. Verification Protocol#
Every symmetry must be validated using:
relative L2 norm
epsilon sweep (logspace 1e-4 → 1e-1)
held-out initial conditions
held-out parameter sets
Outputs must include:
error vs ε curve
residual error
classification
7. Grid Policy#
Supported:
uniform rectilinear grids
Representable but unstable:
nonuniform rectilinear
Unsupported:
unstructured meshes
8. Preprocessing#
Preprocessing MUST be logged.
Allowed:
dtype conversion
coordinate harmonization
mild denoising
Restricted:
normalization
amplitude scaling
aggressive smoothing
9. Serialization#
All canonical objects MUST:
include
schema_versionsupport
.to_dict()/.from_dict()be JSON-compatible
10. Final Rule#
If ambiguous:
→ choose the simplest, verifiable implementation