PdeAst #
A compact PDE mini-language (AST) and interval evaluator.
This module defines a small expression language to describe PDE residuals in terms of u, its first/second partial derivatives along axes, and arithmetic combinators. An interval evaluator consumes primitive bounds (u, u_x, u_y, u_xx, ...) and assembles a conservative residual bound for the whole expression.
We focus on 2D workflows: axes are X and Y, but the evaluator works for 1D by ignoring Y.
References:
- PINNs:
https://arxiv.org/abs/1711.10561 - Interval/CROWN-style primitive bounds used by the surrounding workflows:
https://arxiv.org/abs/1811.00866
Coordinate axis used by the PDE residual language.
Instances For
Expression language for scalar PDE residuals.
The constructors refer to u, first partials, second partials, constants, and arithmetic
combinators. Evaluation is interval-valued because the surrounding PINN checker works with bounds
rather than single floating-point samples.
- const (c : Float) : Expr
- u : Expr
- du (a : Axis) : Expr
- d2u (a : Axis) : Expr
- add (e1 e2 : Expr) : Expr
- sub (e1 e2 : Expr) : Expr
- mul (e1 e2 : Expr) : Expr
- scale (c : Float) (e : Expr) : Expr
- neg (e : Expr) : Expr
Instances For
Primitive interval bounds supplied to the PDE expression evaluator.
Enclosure for the solution value
uitself.Enclosure for
∂u/∂x.Enclosure for
∂u/∂y.Enclosure for
∂²u/∂x².Enclosure for
∂²u/∂y². Every field is optional because a residual only needs the derivatives its own PDE mentions; a missing one makes evaluation fail loudly instead of silently substituting a default.