Compatibility
Not every combination of laws, spaces, time, solvers, and backends is valid. This page is generated from the declarations that validation reads, so it always agrees with what the compilers accept.
Laws
Every law states what it requires of a system, and every solver and backend declares the laws it supports. Validation reports a law that the chosen solver or backend does not support.
| Law | Solvers | Backends |
|---|---|---|
BilinearLaw |
KineticSolver, RK4Solver, ScipyODESolver |
NumpyBackend, NumbaBackend |
BoundaryLaw |
MonteCarloSolver, MesaSolver, CoSimulationSolver, IterationSolver, CaputoSolver, FractionalABMSolver, GrunwaldLetnikovSolver, L1Solver, GillespieSolver, LatticeSolver, CrankNicolsonSolver, ETDRK4Solver, IMEX2Solver, IMEXEulerSolver, LammpsSolver, PontryaginSolver, RK4Solver, SSPRKSolver, ScipyODESolver, SplitSolver, VelocityVerletSolver, Yoshida4Solver, RenewalSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
CascadeLaw |
LatticeSolver |
NumpyBackend, NumbaBackend |
CrossingLaw |
CoSimulationSolver, RK4Solver, ScipyODESolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
DissipatorLaw |
JumpTrajectoriesSolver, LindbladSolver, OperatorSolver, UnitarySolver |
NumpyBackend, NumbaBackend |
DriveLaw |
LatticeSolver |
NumpyBackend, NumbaBackend |
EmissionLaw |
CoSimulationSolver, IterationSolver |
NumpyBackend, NumbaBackend |
EncounterLaw |
KineticSolver, RK4Solver, ScipyODESolver, StrangSplittingSolver |
NumpyBackend, NumbaBackend |
EquationLaw |
CoSimulationSolver, CaputoSolver, FractionalABMSolver, GrunwaldLetnikovSolver, L1Solver, CollocationSolver, LammpsSolver, PontryaginSolver, RK4Solver, ScipyODESolver, VelocityVerletSolver, Yoshida4Solver, RenewalSolver, RootSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
ExtremalLaw |
LatticeSolver |
NumpyBackend, NumbaBackend |
FluxLaw |
CoSimulationSolver, CaputoSolver, FractionalABMSolver, GrunwaldLetnikovSolver, L1Solver, CollocationSolver, CrankNicolsonSolver, ETDRK4Solver, IMEX2Solver, IMEXEulerSolver, LammpsSolver, PontryaginSolver, RK4Solver, SSPRKSolver, ScipyODESolver, SemiLagrangianSolver, SplitSolver, StrangSplittingSolver, VelocityVerletSolver, RenewalSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
FractionalNoiseLaw |
CoSimulationSolver, LammpsSolver, RenewalSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
GeneratorLaw |
JumpTrajectoriesSolver, LindbladSolver, OperatorSolver, UnitarySolver |
NumpyBackend, NumbaBackend |
GradientStepLaw |
GradientDescentSolver |
none |
JumpLaw |
CoSimulationSolver, GillespieSolver, RK4Solver, RenewalSolver, EulerMaruyamaSolver |
NumpyBackend, NumbaBackend |
LocalRuleLaw |
CoSimulationSolver, LatticeSolver |
NumpyBackend, NumbaBackend |
MatchLaw |
MesaSolver, CoSimulationSolver |
NumpyBackend, NumbaBackend |
NoiseLaw |
CoSimulationSolver, LammpsSolver, RenewalSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
RateLaw |
CoSimulationSolver, CaputoSolver, FractionalABMSolver, GrunwaldLetnikovSolver, L1Solver, CollocationSolver, CrankNicolsonSolver, ETDRK4Solver, IMEX2Solver, IMEXEulerSolver, LammpsSolver, PontryaginSolver, RK4Solver, SSPRKSolver, ScipyODESolver, SemiLagrangianSolver, SplitSolver, StrangSplittingSolver, VelocityVerletSolver, Yoshida4Solver, RenewalSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
RuleLaw |
MesaSolver, CoSimulationSolver |
NumpyBackend, NumbaBackend |
SampleLaw |
MonteCarloSolver, CoSimulationSolver |
NumpyBackend, NumbaBackend |
TransferLaw |
MesaSolver, CoSimulationSolver, IterationSolver, CaputoSolver, FractionalABMSolver, GrunwaldLetnikovSolver, L1Solver, GillespieSolver, CrankNicolsonSolver, ETDRK4Solver, IMEX2Solver, IMEXEulerSolver, RK4Solver, SSPRKSolver, ScipyODESolver, SplitSolver, EulerMaruyamaSolver, FractionalEulerMaruyamaSolver, HeunSolver, MilsteinSolver |
NumpyBackend, NumbaBackend |
TransitionLaw |
CoSimulationSolver, IterationSolver |
NumpyBackend, NumbaBackend |
UpdateLaw |
CoSimulationSolver, IterationSolver, LatticeSolver |
NumpyBackend, NumbaBackend |
Solvers
Every solver declares what it supports. Validation checks a chosen solver against the time, space, laws,
noise structures, and derivative orders of a system, and names what it lacks. A diagonal noise draws one
Wiener process per state, a shared noise drives several states with one process, a correlated noise draws the
processes of a WienerProcessSpec with a covariance, and a conserved noise draws one process per link of the
lattice of a field.
| Solver | Form | Time | Space | Laws | Noise | Orders |
|---|---|---|---|---|---|---|
MonteCarloSolver |
Monte Carlo sampling | DiscreteTime |
LatticeSpace, NetworkSpace |
BoundaryLaw, SampleLaw |
any | integer |
MesaSolver |
agent-based model | DiscreteTime |
ContinuousSpace, LatticeSpace, NetworkSpace, no space |
BoundaryLaw, MatchLaw, RuleLaw, TransferLaw |
any | integer |
CoSimulationSolver |
co-simulation | ContinuousTime, DiscreteTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, CrossingLaw, EmissionLaw, EquationLaw, FluxLaw, JumpLaw, LocalRuleLaw, MatchLaw, NoiseLaw, RateLaw, RuleLaw, SampleLaw, TransferLaw, TransitionLaw, UpdateLaw |
conserved, correlated, diagonal, shared |
fractional, integer |
IterationSolver |
discrete map | DiscreteTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EmissionLaw, TransferLaw, TransitionLaw, UpdateLaw |
any | integer |
CaputoSolver |
fractional differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw, TransferLaw |
any | fractional, integer |
FractionalABMSolver |
fractional differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw, TransferLaw |
any | fractional, integer |
GrunwaldLetnikovSolver |
fractional differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw, TransferLaw |
any | fractional, integer |
L1Solver |
fractional differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw, TransferLaw |
any | fractional, integer |
GillespieSolver |
jump process | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, JumpLaw, TransferLaw |
any | integer |
LatticeSolver |
lattice dynamics | DiscreteTime |
LatticeSpace, NetworkSpace |
BoundaryLaw, CascadeLaw, DriveLaw, ExtremalLaw, LocalRuleLaw, UpdateLaw |
any | integer |
GradientDescentSolver |
learning by gradient steps | DiscreteTime |
no space |
GradientStepLaw |
any | integer |
JumpTrajectoriesSolver |
operator dynamics | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
DissipatorLaw, GeneratorLaw |
any | integer |
LindbladSolver |
operator dynamics | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
DissipatorLaw, GeneratorLaw |
any | integer |
OperatorSolver |
operator dynamics | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
DissipatorLaw, GeneratorLaw |
any | integer |
UnitarySolver |
operator dynamics | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
DissipatorLaw, GeneratorLaw |
any | integer |
CollocationSolver |
ordinary differential equations | ContinuousTime |
no space |
EquationLaw, FluxLaw, RateLaw |
any | integer |
CrankNicolsonSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
ETDRK4Solver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
IMEX2Solver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
IMEXEulerSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
KineticSolver |
ordinary differential equations | ContinuousTime |
LatticeSpace |
BilinearLaw, EncounterLaw |
any | integer |
LammpsSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, NoiseLaw, RateLaw |
diagonal |
integer |
PontryaginSolver |
ordinary differential equations | ContinuousTime |
no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw |
any | integer |
RK4Solver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BilinearLaw, BoundaryLaw, CrossingLaw, EncounterLaw, EquationLaw, FluxLaw, JumpLaw, RateLaw, TransferLaw |
any | integer |
SSPRKSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
ScipyODESolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BilinearLaw, BoundaryLaw, CrossingLaw, EncounterLaw, EquationLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
SemiLagrangianSolver |
ordinary differential equations | ContinuousTime |
LatticeSpace, PhaseSpace |
FluxLaw, RateLaw |
any | integer |
SplitSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, FluxLaw, RateLaw, TransferLaw |
any | integer |
StrangSplittingSolver |
ordinary differential equations | ContinuousTime |
LatticeSpace, PhaseSpace |
EncounterLaw, FluxLaw, RateLaw |
any | integer |
VelocityVerletSolver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, RateLaw |
any | integer |
Yoshida4Solver |
ordinary differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, RateLaw |
any | integer |
RenewalSolver |
renewal process | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, EquationLaw, FluxLaw, JumpLaw, NoiseLaw, RateLaw |
diagonal |
integer |
RootSolver |
static solution | StaticTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
EquationLaw |
any | integer |
EulerMaruyamaSolver |
stochastic differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, CrossingLaw, EquationLaw, FluxLaw, JumpLaw, NoiseLaw, RateLaw, TransferLaw |
conserved, correlated, diagonal, shared |
integer |
FractionalEulerMaruyamaSolver |
stochastic differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, CrossingLaw, EquationLaw, FluxLaw, FractionalNoiseLaw, NoiseLaw, RateLaw, TransferLaw |
diagonal |
integer |
HeunSolver |
stochastic differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, CrossingLaw, EquationLaw, FluxLaw, NoiseLaw, RateLaw, TransferLaw |
conserved, correlated, diagonal, shared |
integer |
MilsteinSolver |
stochastic differential equations | ContinuousTime |
CayleySpace, ContinuousSpace, LatticeSpace, MeshSpace, NetworkSpace, no space |
BoundaryLaw, CrossingLaw, EquationLaw, FluxLaw, NoiseLaw, RateLaw, TransferLaw |
diagonal |
integer |
Backends
Backends turn the compiled laws into numeric functions. Each declares the laws, noise structures, and derivative orders it lowers.
| Backend | Laws | Noise | Orders |
|---|---|---|---|
NumpyBackend |
BilinearLaw, BoundaryLaw, CascadeLaw, CrossingLaw, DissipatorLaw, DriveLaw, EmissionLaw, EncounterLaw, EquationLaw, ExtremalLaw, FluxLaw, FractionalNoiseLaw, GeneratorLaw, JumpLaw, LocalRuleLaw, MatchLaw, NoiseLaw, RateLaw, RuleLaw, SampleLaw, TransferLaw, TransitionLaw, UpdateLaw |
conserved, correlated, diagonal, shared |
fractional, integer |
NumbaBackend |
BilinearLaw, BoundaryLaw, CascadeLaw, CrossingLaw, DissipatorLaw, DriveLaw, EmissionLaw, EncounterLaw, EquationLaw, ExtremalLaw, FluxLaw, FractionalNoiseLaw, GeneratorLaw, JumpLaw, LocalRuleLaw, MatchLaw, NoiseLaw, RateLaw, RuleLaw, SampleLaw, TransferLaw, TransitionLaw, UpdateLaw |
conserved, correlated, diagonal, shared |
fractional, integer |