Universal Differential Equations (UDEs) are hybrids of differential equations and neural networks.
https://
github .com /SciML /DiffEqFlux .jl : fusing differential equations ( DifferentialEquations.jl) and neural networks (Lux.jl).https://
github .com /SciML /NeuralPDE .jl : physics-Informed Neural Networks (PINN) Solvers, learning and building the equations from the ground up. NeuralPDE.jlis slower thanDiffEqFlux.jl.
Runtime information¶
using InteractiveUtils
InteractiveUtils.versioninfo()Julia Version 1.12.6
Commit 15346901f00 (2026-04-09 19:20 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 4 × AMD EPYC 7763 64-Core Processor
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, znver3)
GC: Built with stock GC
Threads: 2 default, 1 interactive, 2 GC (on 4 virtual cores)
Environment:
JULIA_CPU_TARGET = generic;icelake-server,clone_all;znver3,clone_all
JULIA_CONDAPKG_OFFLINE = true
JULIA_CONDAPKG_BACKEND = Null
JULIA_CI = true
JULIA_NUM_THREADS = 2
using Pkg
Pkg.status()Status `~/work/jl-ude/jl-ude/Project.toml`
[0bf59076] AdvancedHMC v0.8.4
[b0b7db55] ComponentArrays v0.15.38
[aae7a2af] DiffEqFlux v4.6.0
[31c24e10] Distributions v0.25.125
⌅ [5b8099bc] DomainSets v0.7.18
[7da242da] Enzyme v0.13.147
[f6369f11] ForwardDiff v1.3.3
[682c06a0] JSON v1.6.0
[d3d80556] LineSearches v7.6.2
[98b081ad] Literate v2.21.0
[6fdf6af0] LogDensityProblems v2.2.0
[b2108857] Lux v1.31.4
[c7f686f2] MCMCChains v7.7.0
[1862ce21] MarkdownTables v1.1.0
[961ee093] ModelingToolkit v11.26.3
[315f7962] NeuralPDE v6.0.0
[8913a72c] NonlinearSolve v4.19.1
[7f7a1694] Optimization v5.6.1
[36348300] OptimizationOptimJL v0.4.14
[42dfb2eb] OptimizationOptimisers v0.3.17
[500b13db] OptimizationPolyalgorithms v0.3.6
⌃ [1dea7af3] OrdinaryDiffEq v6.111.0
[91a5bcdd] Plots v1.41.6
[ce78b400] SimpleUnPack v1.1.0
[bd369af6] Tables v1.12.1
[37e2e46d] LinearAlgebra v1.12.0
[9a3f8284] Random v1.11.0
[ea8e919c] SHA v0.7.0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated`
This notebook was generated using Literate.jl.