Recent Equilibrium Families Inside SILVA
SILVA is the general framework on this page. Fourier operators, graph physics, continuous homotopy paths, and empirical-measure flows define what happens inside a SILVA point or how that point is solved. They do not replace the SILVA source, state, local, and global decomposition [1].
What Is Implemented
| Literature family | SILVA status | Package surface |
|---|---|---|
| foundational DEQ [4] | implemented | compact, sequence, graph, image, and general equilibrium points |
| multiscale DEQ [5] | implemented | SILVAMultiscaleDEQ, multiscale point architectures |
| implicit graph network [36] | implemented | SILVAImplicitGraphNetwork |
| FNO-DEQ [43] | implemented as a SILVA family | SILVAFNODEQ, SILVAFNODEQBlock |
| physics-guided graph DEQ [44] | implemented as a SILVA family | SILVAGraphConvectionDiffusion, SILVAPhysicsGuidedGraphDEQ |
| homotopy equilibrium flow [46] | implemented as a transparent SILVA specialization | SILVAHomotopyEquilibrium |
| distributional DEQ [45] | implemented as a SILVA family | SILVADistributionalTransition, SILVADistributionalDEQ |
| joint diffusion restoration [49] | mechanism already represented | SILVADiffusionEquilibrium solves a joint triangular trajectory |
| one-step equilibrium transformer [48] | implemented as a SILVA family | SILVAGenerativeEquilibriumTransformer, QKV injection, teacher loss |
| monotone implicit graph network [47] | implemented as a SILVA family | SILVAMonotoneGraphTransition, SILVAMonotoneGraphEquilibrium |
| mirror-descent Poisson equilibrium [50] | implemented as a SILVA family | SILVABurgMirrorTransition, SILVAPoissonMirrorEquilibrium |
| physics-informed deep equilibrium [51] | implemented as a SILVA family | SILVAPhysicsInformedEquilibrium, implicit time derivative, decomposed loss |
| DAE-PINN implicit stage mechanism [52] | implemented as an implicit SILVA layer | SILVAImplicitDAEStep, one- and multistage tableaus |
| adversarial differential-equation residual [53] | implemented as a training objective | SILVAResidualDiscriminator, silva_adversarial_residual_loss |
“Implemented as a SILVA family” means the mathematical mechanism has a public class, unit and integration tests, a runnable example, deterministic teaching data, and executable small-scale reproductions. It does not mean that the large datasets, model sizes, or paper benchmark tables have been reproduced.
One Grammar, Multiple Extensions
The ordinary SILVA equilibrium is
The four new families alter a different part of this equation:
| SILVA family | What changes | What remains fixed |
|---|---|---|
| Fourier equilibrium | \(H_\theta\) contains a low-mode spectral convolution and local channel map | source injection, fixed-point solve, readout |
| physics graph equilibrium | \(L_\theta\) is split into graph diffusion and directed transport | source, state shape, solver, node/graph readout |
| homotopy equilibrium | the path to \(z^\star\) is a continuous residual flow | the stationary equation \(z^\star=T(z^\star;x)\) |
| distributional equilibrium | the state is an empirical measure and the residual is a measure discrepancy | source conditioning and a repeated SILVA transition |
This separation is useful when constructing heterogeneous models. A Fourier point can feed a graph-physics point; a distributional point can receive a global condition from a vector point; every point can have its own solver and diagnostics.
SILVA Fourier Equilibrium
From a steady PDE to a fixed point
Let a steady PDE be written abstractly as
where \(a\) contains coefficient, forcing, geometry, or boundary data. If a nonlinear solution operator \(\mathcal K_a\) is available, the same solution can be characterized by
FNO-DEQ uses an input-injected Fourier block as the learned fixed-point map [43]. For a sampled field \(v_j\) and lifted forcing \(g=P(a)\), one layer is
\(W_j\) is a pointwise channel map, \(R_j\) acts on retained Fourier modes, and \(\mathcal F\) is the discrete Fourier transform. If a block contains \(J\) internal layers, define
The complete SILVA operator solves
SILVA branch interpretation
The forcing \(g\) is \(S_\theta(a)\) and is injected at every internal layer. The spectral convolution is a global state interaction because every retained frequency can affect the complete spatial field. The \(1\times1\) channel map is a local-in-space self interaction. Additional boundary, graph, or mean-field branches can still be added around this point.
Shape contract
forcing field: (batch, in_channels, height, width)
lifted forcing: (batch, state_channels, height, width)
equilibrium state: (batch, state_channels, height, width)
decoded field: (batch, out_channels, height, width)
The learned spectral weights do not depend on height or width. At runtime,
the implementation retains at most the requested number of modes available on
the current grid. This is resolution compatibility, not by itself a guarantee
of discretization-invariant error.
Minimal run
import torch
from silva_networks import SILVAFNODEQ, SolverConfig
model = SILVAFNODEQ(
in_channels=1,
state_channels=8,
out_channels=1,
modes_height=4,
modes_width=4,
block_depth=2,
state_scale=0.05,
config=SolverConfig(
solver="anderson",
max_iter=30,
tol=1e-6,
backward_mode="implicit",
),
)
forcing = torch.randn(4, 1, 32, 32)
result = model(forcing, return_result=True)
print(result.output.shape)
print(result.solver_result.residual)
Use a PDE residual in addition to the solver residual. The first checks \(\|B(v^\star,g)-v^\star\|\); the second checks whether the decoded field obeys the intended physical equation. They answer different questions.
SILVA Physics-Guided Graph Equilibrium
Continuous equation
A convection-diffusion field \(c\) can be written
The physics-guided graph equilibrium literature moves these transport terms inside the graph transition rather than using only a loss penalty [44].
Graph discretization
For directed edge \(i\rightarrow j\), SILVA defines the incoming diffusion and directed-gradient fields
where \(w_{ij}\) is a nonnegative diffusion weight, \(v_{ij}\) is a signed directed velocity, and \(d_j\) is the number of incoming edges. The SILVA transition is
The learned channel maps \(R\), \(D\), and \(A\) let reaction, diffusion, and advection act differently on each latent feature. The equilibrium is
Minimal run
import torch
from silva_networks import SILVAPhysicsGuidedGraphDEQ
x = torch.randn(6, 3)
edge_index = torch.tensor(
[[0, 1, 1, 2, 2, 3, 3, 4, 4, 5],
[1, 0, 2, 1, 3, 2, 4, 3, 5, 4]],
dtype=torch.long,
)
edge_velocity = torch.tensor([1, -1, 1, -1, 1, -1, 1, -1, 1, -1.0])
model = SILVAPhysicsGuidedGraphDEQ(
in_dim=3,
state_dim=12,
out_dim=1,
)
result = model(
x,
edge_index,
edge_velocity=edge_velocity,
return_result=True,
)
print(result.output.shape, result.solver_result.residual)
Relabeling nodes and relabeling edge_index in the same way relabels the node
outputs without changing their values. tests/test_frontier.py verifies that
property for nonuniform diffusion and velocity fields.
Which graph quantity goes where?
| Data | Argument | Meaning |
|---|---|---|
| node observations, coordinates, sources | x |
SILVA source branch |
| connectivity | edge_index |
spatial domain discretization |
| conductance, inverse distance, area factor | edge_weight |
diffusion coefficient per edge |
| wind, flow, signed directional speed | edge_velocity |
convection coefficient per edge |
| graph membership for a batch | batch |
graph-level pooling only |
The package does not infer physical units. Scale all quantities consistently, record the convention for edge direction, and validate against a numerical or measured reference.
SILVA Homotopy Equilibrium
Fixed-point homotopy
Let
The fixed point solves \(r(z^\star;x)=0\). A classical fixed-point homotopy from an easy initial equation to the desired residual is
Along the zero path \(H(z(s),\lambda(s);x)=0\), differentiation gives
This equation connects a root problem to a continuous path. HomoODE learns a conditioned continuous dynamic and uses a shared initial point [46].
Transparent SILVA specialization
SILVAHomotopyEquilibrium chooses the directly interpretable residual flow
Any stationary state obeys the original SILVA equation. The class integrates the flow with fixed-step Euler or fourth-order Runge-Kutta and reports
This specialization exposes the fixed-point residual explicitly. It is not a numerically identical reproduction of the learned continuous dynamic in the HomoODE experiments.
Analytic example
For
the equilibrium and residual flow are
Therefore
The notebook uses \(a=1/2\), checks \(z^\star=2x\), and compares the numerical terminal state with this closed form.
import torch
from torch import nn
from silva_networks import SILVAHomotopyEquilibrium
class AffineTransition(nn.Module):
def forward(self, state, condition):
return 0.5 * state + condition
model = SILVAHomotopyEquilibrium(
in_dim=1,
state_dim=1,
out_dim=1,
transition=AffineTransition(),
readout=nn.Identity(),
steps=64,
horizon=12.0,
integrator="rk4",
learnable_initial=False,
)
x = torch.tensor([[0.4], [-0.7]])
result = model(x, return_result=True)
print(torch.max(torch.abs(result.state - 2.0 * x)))
The fixed-step path is differentiated through directly. Its activation memory
grows with steps; it does not claim an adjoint-memory result. Use the
fixed-point solvers when an equilibrium is required more directly, and use the
homotopy flow when the continuous path itself is part of the model or analysis.
SILVA Distributional Equilibrium
Why an ordinary residual is insufficient
Let input particles \(X=(x_1,\ldots,x_M)\) represent an empirical measure
and let latent particles \(Z=(z_1,\ldots,z_N)\) represent
Two matrices that differ only by row order represent the same measure. An ordinary Euclidean residual \(\|F(Z,X)-Z\|\) compares rows by position and does not respect this equivalence. Distributional DEQs instead define
and minimize \(G\) over measures [45].
MMD and energy distance
For a kernel \(k\), the biased squared maximum mean discrepancy is
The Gaussian choice is
The package also provides the energy distance
which is the MMD form induced by the negative-distance kernel used in the DDEQ experiments.
Wasserstein particle descent
At the measure level, the inner optimization follows the Wasserstein gradient flow
For empirical particles, forward Euler gives
SILVADistributionalDEQ differentiates the discrepancy with respect to the
latent particles and applies this update. context_mask and latent_mask
support padded batches. fixed_mask prevents selected latent particles from
moving, which is useful when observed particles must remain exact.
EI transition contract
For latent permutation \(P\) and input permutation \(Q\), the built-in transition satisfies
It is equivariant in latent ordering and invariant in input ordering. The implementation obtains this property with self-attention on each measure, cross-attention from latent to input particles, pooled bilinear context, and pointwise feed-forward maps, all without positional row encodings.
Minimal run
import torch
from silva_networks import SILVADistributionalDEQ
context = torch.randn(3, 20, 2)
context_mask = torch.ones(3, 20, dtype=torch.bool)
model = SILVADistributionalDEQ(
input_dim=2,
latent_dim=16,
particles=10,
heads=4,
kernel="energy",
step_size=1.0,
max_iter=40,
)
result = model(
context,
context_mask=context_mask,
return_result=True,
)
print(result.state.shape)
print(result.discrepancies[0], result.discrepancies[-1])
The transition is architecture-pluggable. A replacement must preserve the
shape of latent and accept both masks. If the task is order-independent, it
should also satisfy the EI equation above.
Selecting These Families
The canonical family keys keep every construction under SILVA:
from silva_networks import silva_equilibrium_model
operator = silva_equilibrium_model(
"silva_fno_deq",
in_channels=1,
state_channels=8,
out_channels=1,
)
particles = silva_equilibrium_model(
"silva_distributional_deq",
input_dim=3,
latent_dim=16,
)
The searchable literature aliases fno_deq, pgcn_deq, homoode, and
ddeq resolve to these SILVA constructors. New configuration files should use
the canonical silva_* keys.
Dataset-Backed Reproductions
The combined notebook, four focused labs, and examples/frontier_equilibria.py
now use deterministic package builders matched to each state geometry.
| SILVA family | Dataset builder | Quantity checked | Focused notebook |
|---|---|---|---|
| Fourier equilibrium | make_periodic_elliptic_dataset |
field shape, fixed-point residual, elliptic residual, gradients, resolution change | Fourier equilibrium lab |
| physics graph equilibrium | make_graph_transport_dataset |
discrete transport residual, batched edges, node relabeling, gradients | Graph transport lab |
| homotopy equilibrium | make_affine_homotopy_dataset |
analytic endpoint, complete decay law, Euler/RK4, gradients | Homotopy equilibrium lab |
| distributional equilibrium | make_variable_measure_dataset |
masks, counts, moments, permutation behavior, particle descent, gradients | Distributional equilibrium lab |
These experiments validate equations, tensor contracts, solver wiring, training paths, plots, and gradients. The dataset-backed lab guide derives every builder and explains the handoff to the paper datasets. The paper-reported Darcy, Navier-Stokes, environmental, image, and point-cloud results still require their complete datasets and protocols.
Implemented Architecture Contracts
The adjacent mechanisms retain explicit implementation boundaries. The full derivations and runnable code are in Advanced Equilibrium Families and Physics-Informed Equilibria.
Monotone graph equilibrium
A monotone graph equilibrium needs a resolvent or proximal operator and an operator-splitting update, such as forward-backward, Peaceman-Rachford, or Douglas-Rachford. Merely projecting the recurrent weight norm would not reproduce the monotone formulation [47]. SILVA implements the forward-backward case and exposes the monotonicity certificate.
One-step equilibrium transformer
A complete model needs image patch embedding, a noncausal equilibrium transformer, conditioning from the input noise, image reconstruction, and the offline noise/image-pair distillation objective [48]. SILVA implements these architecture and loss contracts. Published image results still require the original teacher, schedule, dataset, and evaluation protocol.
Parallel diffusion restoration
SILVADiffusionEquilibrium already represents a selected reverse diffusion
trajectory as one joint triangular fixed point, the central parallel-state
mechanism used in equilibrium restoration
[49]. A benchmark reproduction
still needs a compatible pretrained denoiser, degradation operator, schedules,
and restoration datasets.
Poisson mirror descent
A faithful mechanism needs the Poisson negative log-likelihood, a positive-domain mirror map, the associated Bregman divergence, and convergence-aware learned regularization [50]. A Euclidean projected gradient step is not an equivalent substitute. SILVA implements the Burg closed-form update, positivity projection, forward/adjoint operators, and optional learned regularizer gradient.
Physics-informed equilibrium and DAE layers
The physics-informed family defines the trajectory representation by a latent fixed point, evaluates its time derivative with the implicit function theorem, and separates initial, ODE-residual, and Jacobian terms [51]. The DAE layer instead packs implicit Runge-Kutta stages and endpoint algebraic variables into one Newton root [52]. The latter is an implicit numerical layer, not a globally weight-tied DEQ.
Adversarial residual objective
The differential-equation GAN mechanism supplies an optional learned residual loss [53]. Its “DEQ” abbreviation does not mean deep equilibrium, so it is intentionally not registered as a selectable equilibrium family.
Scaling the Frontier Families
build_scaled_silva keeps the family equations above and selects their
memory-aware numerical path:
| Family | Full-scale control | What remains task-specific |
|---|---|---|
| Fourier equilibrium | implicit backward GMRES and relative residuals | modes, grid, boundary encoding, official PDE split |
| physics graph equilibrium | sparse edges and implicit backward | graph construction, coefficients, sensor split, physical metric |
| homotopy equilibrium | solver horizon and integration budget | path parameterization, initial state, benchmark protocol |
| distributional equilibrium | pairwise_chunk_size |
particle sampling, masks, discrepancy, point-cloud task |
For distributional losses, chunking changes peak storage, not the exact pair sum or its \(O(NM)\) arithmetic. For Fourier fields, resolution transfer is a claim only after evaluation on a withheld grid. For graph physics, a task metric must be accompanied by the discrete transport residual and node relabeling check. The Full-Scale SILVA guide contains the all-family data and benchmark matrix, and notebook 26 verifies the new numerical paths.
Validation in the Repository
| Property | Test or artifact |
|---|---|
| Fourier input injection, resolution changes, gradients | tests/test_frontier.py |
| graph branch separation, relabeling equivariance, gradients | tests/test_frontier.py |
| analytic homotopy endpoint and both integrators | tests/test_frontier.py |
| MMD/energy permutation invariance and masks | tests/test_frontier.py |
| EI transition property and fixed particles | tests/test_frontier.py |
| generated equation datasets, masks, batching, and integrated gradients | tests/test_frontier_data.py |
| all four small runs | examples/frontier_equilibria.py |
| derivations and progressive experiments | 16_frontier_equilibrium_families.ipynb |
| dataset-backed derivation and training labs | notebooks 17 through 20 |
| monotone, transformer, mirror, physics, DAE, and residual tests | tests/test_advanced_equilibria.py |
| exact generated equations for the adjacent families | tests/test_advanced_data.py |
| complete advanced mechanism run | examples/advanced_equilibria.py |
| focused advanced notebooks | notebooks 21 through 25 |
Where to Go Next
The adjacent monotone, transformer, mirror, physics-informed, DAE, and residual-objective material continues in Advanced Equilibrium Families and Physics-Informed Equilibria.
| Question | Page |
|---|---|
| How do ordinary ODE, PDE, and neural-operator cases enter SILVA? | Neural Operators, ODEs, PDEs, and SILVA |
| Where is the public API for these four families? | Recent Equilibrium API |
| Where are the datasets and focused training labs derived? | Dataset-Backed Equilibrium Labs |
| Where can I run the compact reproductions? | Recent Equilibrium Examples |