Skip to content

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