Expand description
Modules§
- accel
- Accelerator selection for the tensorized EML forward pass.
- affine
- Affine- and log-affine-leaf EML discovery (M6 root-cause fix, steps 1 + 2).
- analyze
- Layer D⁺ — post-discovery analysis of a recovered law via the
oxiemlcomputer-algebra system. - any_
solution - A heterogeneous discovered law — either an EML-tree law from the differentiable core engine
or a rich-leaf affine/log-linear law from
crate::affine. - codegen
- Code generation for discovered EML expressions (Rust, Python/NumPy).
- config
- Discovery configuration.
- dataset
- Dataset ingestion:
(X, y)pairs from arrays or CSV. - dimension
- Buckingham-π dimensional reduction (a discovery prior for phop).
- discoverer
- The top-level discovery engine.
- distill
- Layer D — symbolic distillation of a discovered EML tree.
- error
- Error types for the phop engine.
- fit
- M1 — gradient-based fitting of the real-valued constants of an EML tree.
- forest
- Layer A — tensorized EML forest forward evaluation.
- gated
- Differentiable tree shape via per-node expand/terminate gates (the depth-learning step).
- gumbel
- Layer B (M2) — differentiable topology via Gumbel-Softmax leaf selection.
- loss
- Robust regression losses for constant fitting under outliers.
- ode
- Governing-equation discovery: recover the right-hand side of an autonomous ODE
dx/dt = f(x)from a sampled trajectory, using phop as the function learner. - optimize
- Library-backed constant refinement via
scirs2-optimize. - pareto
- Pareto front over (complexity, MSE).
- polish
- Post-fit refinement of an expression’s constants.
- silence
- Scoped suppression of process
stdoutat the file-descriptor level. - solution
- A discovered candidate expression and its quality metrics.
Structs§
- Affine
Solution - A discovered law and its quality.
- Analysis
- Rendered symbolic analysis of a discovered law (each form simplified, as LaTeX).
- Config
- Configuration for a
crate::Discovererrun. - DataSet
- A dataset of input features
x(shape[n_rows, n_vars]) and targetsy([n_rows]). - Discoverer
- Discovery engine configured by a
Config. - Distilled
- A discovered expression rendered into every output format phop supports.
- EmlTree
- EML tree with metadata.
- Pareto
Front - The non-dominated set of discovered solutions, sorted by complexity ascending.
- Root
Certificate - Certificate for a verified root-finding result.
- Solution
- A single discovered expression together with its accuracy and complexity.
- Standardizer
- Per-column affine transform
(value - mean) / stdlearned from aDataSet.
Enums§
- AnySolution
- A discovered law from either engine, exposing a common accuracy/complexity interface.
- Backend
- Compute backend for the expensive numeric inner loops (constant fitting).
- EmlNode
- EML tree node. All nodes share the same type — uniform binary tree.
Arcenables O(1) subtree sharing during symbolic regression. - GpuBackend
- A compute backend for the EML forward pass.
- Phop
Error - Errors that can arise during data loading, forest evaluation, or discovery.
- Robust
Loss - A loss function for fitting an expression’s constants to data.
- Root
Status - Status of the root certificate.
- Scirs
Polish - Which
scirs2-optimizealgorithm to use for the polish. - Temp
Schedule - Temperature annealing schedule for the Gumbel-Softmax topology relaxation.
Functions§
- analyze
- Differentiate, integrate, expand, and take the
+∞limit oftreewith respect to variablewrt, rendering each canonical form to LaTeX.series_orderis the Maclaurin truncation order. - certified_
range - A guaranteed enclosure of the law’s range over an axis-aligned box, via interval arithmetic.
- certified_
root - Find a certified root of
treein[lo, hi]along variablewrt, with the other variables fixed toothers(thewrtslot is overwritten by the search; pass&[]for a single-variable law). Usesoxieml’s interval Newton/Krawczyk verifier; the returnedRootCertificateproves unique existence, absence, or indeterminacy within the interval enclosure. - discover_
affine - Discover a rich-leaf EML law for
(x, y).max_internalboundsemlnodes;cand_capbounds candidates. Returns the best fit by MSE, orNoneifxis empty. - discover_
affine_ pareto - Discover a rich-leaf EML Pareto front (non-dominated over complexity and MSE), sorted by increasing complexity.
- discover_
auto - Robust “just works” discovery: a meta-ensemble that runs algorithmically diverse searches
and returns the merged Pareto front — the best across methods and depths without the caller
picking one. It combines phop’s own searches (structural enumeration, Gumbel-Softmax topology,
gated depth learning) with the cool-japan
oxiemlsymbolic-regression engine (its GA/beam/MCTS strategies). Alloxiemlcandidates are re-scored with phop’s evaluator so the front is consistent. This is the shape-mixture idea in spirit, and the diversity is something no single monolithic SR algorithm provides. - discover_
auto_ all - The full meta-ensemble:
discover_auto’s EML-tree front merged with the rich-leaf affine engine (crate::discover_affine_pareto) into one Pareto front over both representations. - discover_
gated - Discover expressions by differentiable tree-shape search (per-node expand/terminate gates).
- discover_
gated_ warm - Discover by warm-started differentiable tree-shape search: run the cheap
enumeratediscoverer for a discrete seed, map it onto the gated skeleton, and refine with the gated (depth-learning) optimizer. This is addition.md’s key remedy — seeding the differentiable search from a discrete solution instead of a uniform forest that explores garbage. The seed and the refined trees are merged into one Pareto front, so warm-start never does worse thanenumerate. - discover_
gumbel - Discover expressions by differentiable Gumbel-Softmax topology search.
- discover_
ode - Discover the right-hand side
fof an autonomous scalar ODEdx/dt = f(x)from a uniformly-sampled trajectoryserieswith timestepdt. - distill
- Distill a tree into all supported output formats.
- eml_
guarded - Guarded EML primitive on graph tensors:
eml(a, b) = exp(clip(a)) - ln(clip(b)). - eval_
tree - Evaluate an
EmlTreeforward through autograd over the given data. - fit_
constants - Fit the constant leaves of
templatetods, returning the fitted tree and its MSE. - gpu_
backend - Select the best available forward-eval backend at runtime: CUDA → Metal → wgpu → CPU.
- merge_
pareto - Pareto-filter a heterogeneous candidate set over (complexity, MSE) — discarding dominated and
near-duplicate members — then sort by MSE ascending (most accurate first). Mirrors
crate::pareto::ParetoFront::from_candidatesbut overAnySolution. - mse
- Mean-squared error between predictions and targets.
- n_
constants - Number of free constant leaves in a tree.
- pi_
groups - Integer basis of the nullspace of the dimension matrix of
dims. - polish_
constants - Refine the constant leaves of
treeagainstdswith Levenberg–Marquardt (plain MSE). - polish_
constants_ robust - Refine the constant leaves of
treeagainstdswith a robust Levenberg–Marquardt polish. - polish_
constants_ scirs - Refine the constant leaves of
treeagainstdsusing ascirs2-optimizebackend. - snap_
constants - Snap each constant to a recognizable clean value — a small integer, a named constant (π, e, √2, …),
or a small rational — when the snap keeps the MSE within
rel_tolof the unsnapped fit. Constants are snapped one at a time (simplest candidate first), each accepted only if it does not meaningfully worsen the fit, so a constant that genuinely is1.000…collapses to exactly1(removing theln(1)residue that otherwise defeats exact-equivalence proofs). Returns the snapped tree + MSE.