awesome-sciml
Guides on contributions:
- Open issues to add source links
- Fork and pull requests
Also see its twin repo MathEpiDeepLearningTutorial: Tutorials on math epidemiology and epidemiology informed deep learning methods.
Contents:
3. Differential Programing and Data Mining
- 3.1. Differentialation, Quadrature and Tensor computation
- 3.2. Optimization
- 3.3. Optimal Control
- 3.4. Bayesian Inference
- 3.5. Machine Learning and Deep Learning
- 3.6. Probablistic Machine Learning and Deep Learning
- 3.7. Differential Equations and Scientific Computation
- 3.8. Scientific Machine Learning (Differential Equation and ML)
- 3.9. Data Driven Methods (Equation Searching Methods)
- 3.10. Model Evaluation
- 3.10. Optimal Transportation
- 3.11. Agents, Graph and Networks
Introduction
Julia and Python resources on mathematical epidemiology and epidemiology informed deep learning methods. Most about package information. Main Topics include
- Data Preprocessing
- Basic Statistics and Data Visualization
- Differential Programing and Data Mining such as bayesian inference, deep learning, scientific machine learning computation
- Theoretical Analysis such as calculus, bifurcation analysis
- Writings, Blog and Web
[TOC]
Julia:
epirecipes/sir-julia: Various implementations of the classical SIR model in Julia
Mobilityjtmatamalas/MMCAcovid19.jl: Microscopic Markov Chain Approach to model the spreading of COVID-19
jpfairbanks/SemanticModels.jl: A julia package for representing and manipulating model semantics
affans/covid19abm.jl: Agent Based Model for COVID 19 transmission dynamics
Python:
pyro.contrib.epidemiology.models — Pyro documentation
Modelling Human Mobility scikit-mobility/scikit-mobility: scikit-mobility: mobility analysis in Python
Matlab:
1. Data Preprocessing
1.1. Data Science
Julia:
JuliaData/DataFrames.jl: In-memory tabular data in Julia
JuliaStats/TimeSeries.jl: Time series toolkit for Julia
Python:
Numpy
Pandas
Smoothing
PumasAI/DataInterpolations.jl: A library of data interpolation and smoothing functions
viraltux/Smoothers.jl: Collection of basic smoothers and smoothing related applications
TimeSeries.moving
dysonance/Indicators.jl: Financial market technical analysis & indicators in Julia
Expotential Smoothing:
konkam/FeynmanKacParticleFilters.jl: Particle filtering using the Feynman-Kac formalism
mschauer/Kalman.jl: Flexible filtering and smoothing in Julia
JuliaStats/Loess.jl: Local regression, so smooooth!
Outlier Detection
Julia:
baggepinnen/MatrixProfile.jl: Time-series analysis using the Matrix profile in Julia
jbytecode/LinRegOutliers: Direct and robust methods for outlier detection in linear regression
Python:
yzhao062/pyod: A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)
DHI/tsod: Anomaly Detection for time series data
pygod-team/pygod: A Python Library for Graph Outlier Detection (Anomaly Detection)
2. Basic Statistics and Data Visualization
2.1. Statistics
cscherrer/MeasureTheory.jl: "Distributions" that might not add to one.
python
2.2. (Deep Learning based) Time Seris Analysis
Julia: (few)
JuliaStats/TimeSeries.jl: Time series toolkit for Julia
Python:
lmmentel/awesome-time-series: Resources for working with time series and sequence data
unit8co/darts: A python library for easy manipulation and forecasting of time series.
alan-turing-institute/sktime: A unified framework for machine learning with time series
jdb78/pytorch-forecasting: Time series forecasting with PyTorch
tslearn-team/tslearn: A machine learning toolkit dedicated to time-series data
salesforce/Merlion: Merlion: A Machine Learning Framework for Time Series Intelligence
ourownstory/neural_prophet: NeuralProphet: A simple forecasting package
sktime/sktime-dl: sktime companion package for deep learning based on TensorFlow
IBM/TSML.jl: A package for time series data processing, classification, clustering, and prediction.
zhouhaoyi/Informer2020: The GitHub repository for the paper "Informer" accepted by AAAI 2021.
blue-yonder/tsfresh: Automatic extraction of relevant features from time series:
microsoft/forecasting: Time Series Forecasting Best Practices & Examples
2.3. Survival Analysis
Julia:
Python:
Deep Learning for Survival Analysis
sebp/scikit-survival: Survival analysis built on top of scikit-learn
havakv/pycox: Survival analysis with PyTorch
CamDavidsonPilon/lifelines: Survival analysis in Python
chl8856/DeepHit: DeepHit: A Deep Learning Approach to Survival Analysis with Competing Risks
jaredleekatzman/DeepSurv: DeepSurv is a deep learning approach to survival analysis.
square/pysurvival: Open source package for Survival Analysis modeling
2.4. Data Visulization
Julia:
GiovineItalia/Gadfly.jl: Crafty statistical graphics for Julia.
queryverse/VegaLite.jl: Julia bindings to Vega-Lite
JuliaPlots/UnicodePlots.jl: Unicode-based scientific plotting for working in the terminal
Colors and Color schemes
JuliaGraphics/Colors.jl: Color manipulation utilities for Julia
JuliaGraphics/ColorSchemes.jl: colorschemes, colormaps, gradients, and palettes
Interactive
theogf/Turkie.jl: Turing + Makie = Turkie
Python:
Matplotlib
R:
Color themes:
Venn Diagrams
R:
yanlinlin82/ggvenn: Venn Diagram by ggplot2, with really easy-to-use API.
gaospecial/ggVennDiagram: A 'ggplot2' implement of Venn Diagram.
Python:
konstantint/matplotlib-venn: Area-weighted venn-diagrams for Python/matplotlib
Julia:
JuliaPlots/VennEuler.jl: Venn/Euler Diagrams for Julia
2.5. GLM
bambinos/bambi: BAyesian Model-Building Interface (Bambi) in Python.
3. Differential Programing and Data Mining
3.1. Differentialation, Quadrature and Tensor computation
3.1.1. Auto Differentiation
Julia:
FluxML/Zygote.jl: Intimate Affection Auditor
JuliaDiffEqFlux organization
JuliaDiff/ForwardDiff.jl: Forward Mode Automatic Differentiation for Julia
JuliaDiff/ReverseDiff.jl: Reverse Mode Automatic Differentiation for Julia
JuliaDiff/AbstractDifferentiation.jl: An abstract interface for automatic differentiation.
kailaix/ADCME.jl: Automatic Differentiation Library for Computational and Mathematical Engineering
chakravala/Leibniz.jl: Tensor algebra utility library
briochemc/F1Method.jl: F-1 method
Python:
pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration
tensorflow/tensorflow: An Open Source Machine Learning Framework for Everyone
Similar to SciMLSensitivity.jlAMICI-dev/AMICI: Advanced Multilanguage Interface to CVODES and IDAS
Auto Difference
Julia:
QuantEcon/SimpleDifferentialOperators.jl: Library for simple upwind finite differences
Python:
PyLops/pylops: PyLops – A Linear-Operator Library for Python
Differential Optimization (Conditional gradients)
Julia:
jump-dev/DiffOpt.jl: Differentiating convex optimization programs w.r.t. program parameters
gdalle/ImplicitDifferentiation.jl: Automatic differentiation of implicit functions
matbesancon/MathOptSetDistances.jl: Distances to sets for MathOptInterface
python:
cvxgrp/cvxpylayers: Differentiable convex optimization layers
Subgradient, Condition, Projected, Proximal gradients
Julia:
Proximal:
JuliaFirstOrder/ProximalOperators.jl: Proximal operators for nonsmooth optimization in Julia
JuliaFirstOrder/ProximalAlgorithms.jl: Proximal algorithms for nonsmooth optimization in Julia
ReviewPyLops/pyproximal: PyProximal – Proximal Operators and Algorithms in Python
Condition Gradient:
3.1.2. Quadrature
Learn One equals learn many
SciML/SymbolicNumericIntegration.jl
Julia:
JuliaMath/QuadGK.jl: adaptive 1d numerical Gauss–Kronrod integration in Julia
JuliaMath/HCubature.jl: pure-Julia multidimensional h-adaptive integration
JuliaApproximation/FastGaussQuadrature.jl: Julia package for Gaussian quadrature
JuliaApproximation/ApproxFun.jl: Julia package for function approximation
JuliaGNI/GeometricIntegrators.jl: Geometric Numerical Integration in Julia
stochastics-uni-luebeck/LevyArea.jl: Iterated stochastic integrals in Julia.
Bayesian Methods
Julia:
theogf/BayesianQuadrature.jl: Is there anything we can't make Bayesian?
s-baumann/BayesianIntegral.jl: Bayesian Integration of functions
python:
ProbNum — probnum 0.1 documentation
Expectations calculation
QuantEcon/Expectations.jl: Expectation operators for Distributions.jl objects
3.1.3. Matrix and Tensor computation
Matrix organization
JuliaArrays/StaticArrays.jl: Statically sized arrays for Julia
JuliaArrays/StructArrays.jl: Efficient implementation of struct arrays in Julia
JuliaArrays/LazyArrays.jl: Lazy arrays and linear algebra in Julia
JuliaArrays/AxisArrays.jl: Performant arrays where each dimension can have a named axis with values
JuliaArrays/OffsetArrays.jl: Fortran-like arrays with arbitrary, zero or negative starting indices.
JuliaArrays/ArraysOfArrays.jl: Efficient storage and handling of nested arrays in Julia
JuliaArrays/InfiniteArrays.jl: A Julia package for representing infinite-dimensional arrays
JuliaArrays/FillArrays.jl: Julia package for lazily representing matrices filled with a single entry
JuliaMatrices/BandedMatrices.jl: A Julia package for representing banded matrices
JuliaMatrices/SpecialMatrices.jl: Julia package for working with special matrix types.
JuliaMatrices/InfiniteLinearAlgebra.jl: A Julia repository for linear algebra with infinite matrices
JuliaLang/SparseArrays.jl: SparseArrays.jl is a Julia stdlib
Python:
numpy
numba
scikit-hep/awkward-1.0: Manipulate JSON-like data with NumPy-like idioms.
Special Matrix and Arrays
JuliaMatrices/SpecialMatrices.jl: Julia package for working with special matrix types.
Computation
BLAS and LAPACKJuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia
JuliaGPU/GemmKernels.jl: Flexible and performant GEMM kernels in Julia
MasonProtter/Gaius.jl: Divide and Conquer Linear Algebra
Eigenvalues and Solvers
SolverSciML/LinearSolve.jl: LinearSolve.jl: High-Performance Unified Linear Solvers
Julia:
Eig: JuliaLinearAlgebra/Arpack.jl: Julia Wrappers for the arpack-ng Fortran library
JuliaLinearAlgebra/ArnoldiMethod.jl: Implicitly Restarted Arnoldi Method, natively in Julia
Solver:
JuliaSmoothOptimizers/Krylov.jl: A Julia Basket of Hand-Picked Krylov Methods
tjdiamandis/RandomizedPreconditioners.jl
JuliaLinearAlgebra/RecursiveFactorization.jl
Spectral methods
tpapp/SpectralKit.jl: Building blocks of spectral methods for Julia.
markmbaum/BasicInterpolators.jl: Basic (+chebyshev) interpolation recipes in Julia
Spasrse Slover
SparseJuliaSparse/Pardiso.jl: Calling the PARDISO library from Julia
SparseJuliaSparse/MKLSparse.jl: Make available to Julia the sparse functionality in MKL
Python:
scipy.sparse.linalg.eigs — SciPy v1.7.1 Manual
Maps and Operators
emmt/LazyAlgebra.jl: A Julia package to extend the notion of vectors and matrices
JuliaSmoothOptimizers/LinearOperators.jl: Linear Operators for Julia
kul-optec/AbstractOperators.jl: Abstract operators for large scale optimization in Julia
matthieugomez/InfinitesimalGenerators.jl: A set of tools to work with Markov Processes
JuliaApproximation/ApproxFun.jl: Julia package for function approximation
Matrxi Equations
Kronecker-based algebra
MichielStock/Kronecker.jl: A general-purpose toolbox for efficient Kronecker-based algebra.
3.1.4.Platforms, CPU, GPU and TPU
Julia GPU organization
Python:
tonybaloney/Pyjion: Pyjion - A JIT for Python based upon CoreCLR
numba/numba: NumPy aware dynamic Python compiler using LLVM
3.2. Optimization
An "learn one equals learn all" Julia Package
Opt Organization:
Process Systems and Operations Research Laboratory
JuliaNLSolvers/Optim.jl: Optimization functions for Julia
JuliaOpt/NLopt.jl: Package to call the NLopt nonlinear-optimization library from the Julia language
robertfeldt/BlackBoxOptim.jl: Black-box optimization for Julia
jump-dev/MathOptInterface.jl: An abstraction layer for mathematical optimization solvers.
tpapp/MultistartOptimization.jl: Multistart optimization methods in Julia.
bbopt/NOMAD.jl: Julia interface to the NOMAD blackbox optimization software
NicolasL-S/SpeedMapping.jl: General fixed point mapping acceleration and optimization in Julia
JuliaManifolds/Manopt.jl: Optimization on Manifolds in Julia
Open OptimizersDownload – COIN-OR: Computational Infrastructure for Operations Research
3.2.1. Metaheuristic
Julia:
jmejia8/Metaheuristics.jl: High performance metaheuristics for optimization purely coded in Julia.
ac-tuwien/MHLib.jl: MHLib.jl - A Toolbox for Metaheuristics and Hybrid Optimization Methods in Julia
Python:
scikit-optimize/scikit-optimize: Sequential model-based optimization with a scipy.optimize
interface
ac-tuwien/pymhlib: pymhlib - A Toolbox for Metaheuristics and Hybrid Optimization Methods
cvxpy/cvxpy: A Python-embedded modeling language for convex optimization problems.
coin-or/pulp: A python Linear Programming API
3.2.2. Evolution Stragegy
Julia:
wildart/Evolutionary.jl: Evolutionary & genetic algorithms for Julia
d9w/Cambrian.jl: An Evolutionary Computation framework
itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC
3.2.3. Genetic Algorithms
Julia:
d9w/CartesianGeneticProgramming.jl: Cartesian Genetic Programming for Julia
Python:
trevorstephens/gplearn: Genetic Programming in Python, with a scikit-learn inspired API
3.2.4. Nonconvex
Julia:
JuliaNonconvex/Nonconvex.jl: Toolbox for non-convex constrained optimization.
3.2.5. First Order Methods
Proximal OPTEC
kul-optec/CIAOAlgorithms.jl: Coordinate and Incremental Aggregated Optimization Algorithms
3.2.6. Second Order Methods
Search · stochastic quasi-newton
pcmoritz/slbfgs: Stochastic LBFGS
3.3. Optimal Control
eleurent/phd-bibliography: References on Optimal Control, Reinforcement Learning and Motion Planning
Julia: Jump + InfiniteOpt
Jump is powerfull!!!
InfiniteOpt is powerfull!!!
GAMS unified softwareGAMS Documentation Center
GAMS-dev/gams.jl: A MathOptInterface Optimizer to solve JuMP models using GAMS
Matlab: Yalmip unifiedYALMIP
Python: unifiedPyomo/pyomo: An object-oriented algebraic modeling language in Python for structured optimization problems.
Julia:
odow/SDDP.jl: Stochastic Dual Dynamic Programming in Julia
PSORLab/EAGO.jl: A development environment for robust and global optimization
JuliaSmoothOptimizers/PDENLPModels.jl: A NLPModel API for optimization problems with PDE-constraints
JuliaMPC/NLOptControl.jl: nonlinear control optimization tool
Python:
casadi is powerful!
Matlab:
3.4. Bayesian Inference
Julia:
cscherrer/Soss.jl: Probabilistic programming via source rewriting
probcomp/Gen.jl: A general-purpose probabilistic programming system with programmable inference
Laboratory of Applied Mathematical Programming and Statistics
Python:
pints-team/pints: Probabilistic Inference on Noisy Time Series
pyro-ppl/pyro: Deep universal probabilistic programming with Python and PyTorch
tensorflow/probability: Probabilistic reasoning and statistical analysis in TensorFlow
google/edward2: A simple probabilistic programming language.
jmschrei/pomegranate: Fast, flexible and easy to use probabilistic modelling in Python.
3.4.1. MCMC
Methods like HMC, SGLD are Covered by above-mentioned packages.
Julia:
mauro3/KissMCMC.jl: Keep it simple, stupid, MCMC
Nicescheidan/BarkerMCMC.jl: gradient based MCMC sampler
BigBayes/SGMCMC.jl: Stochastic Gradient Markov Chain Monte Carlo and Optimisation
madsjulia/AffineInvariantMCMC.jl: Affine Invariant Markov Chain Monte Carlo (MCMC) Ensemble sampler
TuringLang/EllipticalSliceSampling.jl: Julia implementation of elliptical slice sampling.
Nested SamplingTuringLang/NestedSamplers.jl: Implementations of single and multi-ellipsoid nested sampling
itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC
Python:
Reviewjeremiecoullon/SGMCMCJax: Lightweight library of stochastic gradient MCMC algorithms written in JAX.
Nested Samplingjoshspeagle/dynesty: Dynamic Nested Sampling package for computing Bayesian posteriors and evidences
ruqizhang/csgmcmc: Cyclical Stochastic Gradient MCMC for Bayesian Deep Learning
3.4.2. Approximate Bayesian Computation (ABC)
Also called likelihood free or simulation based methods
Reviewsbi-benchmark/sbibm: Simulation-based inference benchmark
Julia: (few)
Python:
elfi-dev/elfi: ELFI - Engine for Likelihood-Free Inference
pints-team/pints: Probabilistic Inference on Noisy Time Series
mackelab/sbi: Simulation-based inference in PyTorch
ICB-DCM/pyABC: distributed, likelihood-free inference
3.4.3. Data Assimilation (SMC, particles filter)
Julia:
JuliaGNSS/KalmanFilters.jl: Various Kalman Filters: KF, UKF, AUKF and their Square root variant
FRBNY-DSGE/StateSpaceRoutines.jl: Package implementing common state-space routines.
Python:
nchopin/particles: Sequential Monte Carlo in python
tingiskhan/pyfilter: Particle filtering and sequential parameter inference in Python
3.4.4. Variational Inference
SVGDSearch · Stein Variational Gradient DescentAlso see pyro, Stein method part
Julia:
bat/MGVI.jl: Metric Gaussian Variational Inference
TuringLang/AdvancedVI.jl: A library for variational Bayesian methods in Julia
ngiann/ApproximateVI.jl: Approximate variational inference in Julia
Python:
3.4.5. Gaussion, non-Gaussion and Kernel
Julia:
Gaussian Processes for Machine Learning in Julia
Laboratory of Applied Mathematical Programming and Statistics
JuliaStats/KernelDensity.jl: Kernel density estimators for Julia
PieterjanRobbe/GaussianRandomFields.jl: A package for Gaussian random field generation in Julia
JuliaGaussianProcesses/Stheno.jl: Probabilistic Programming with Gaussian processes in Julia
STOR-i/GaussianProcesses.jl: A Julia package for Gaussian Processes
Python:
GPflow/GPflow: Gaussian processes in TensorFlow
SheffieldML/GPy: Gaussian processes framework in python
3.4.6. Bayesian Optimization
Julia:
SciML/Surrogates.jl: Surrogate modeling and optimization for scientific machine learning (SciML)
jbrea/BayesianOptimization.jl: Bayesian optimization for Julia
baggepinnen/Hyperopt.jl: Hyperparameter optimization in Julia.
Python:
fmfn/BayesianOptimization: A Python implementation of global optimization with gaussian processes.
pytorch/botorch: Bayesian optimization in PyTorch
optuna/optuna: A hyperparameter optimization framework
huawei-noah/HEBO: Bayesian optimisation library developped by Huawei Noah's Ark Library
3.4.7. Information theory
Julia: entropy and kldivengence for distributions or vectors can be seen in Distributions.jl
KL divergence for functionsRafaelArutjunjan/InformationGeometry.jl: Methods for computational information geometry
gragusa/Divergences.jl: A Julia package for evaluation of divergences between distributions
cynddl/Discreet.jl: A Julia package to estimate discrete entropy and mutual information
3.4.8. Uncertainty
Uncertainty propogation
Julia:
ReviewUncertainty Programming, Generalized Uncertainty Quantification
Python
pyro-ppl/funsor: Functional tensors for probabilistic programming
3.4.9. Casual
zenna/Omega.jl: Causal, Higher-Order, Probabilistic Programming
python
Review: rguo12/awesome-causality-algorithms: An index of algorithms for learning causality with data
3.4.10. Sampling
3.4.11 Message Passing
Julia:
3.5. Machine Learning and Deep Learning
Python:
Survey ritchieng/the-incredible-pytorch at pythonrepo.com
3.5.1. Machine Learning
Julia: MLJ is enough
alan-turing-institute/MLJ.jl: A Julia machine learning framework
Evovest/EvoTrees.jl: Boosted trees in Julia
Dimention Reduction:madeleineudell/LowRankModels.jl: LowRankModels.jl is a julia package for modeling and fitting generalized low rank models.
Linear RegressionJuliaAI/MLJLinearModels.jl: Generalized Linear Regressions Models (penalized regressions, robust regressions, ...)
gerdm/pknn.jl: Probabilistic k-nearest neighbours
Python:
scikit-learn: machine learning in Python — scikit-learn 1.0.1 documentation
automl/auto-sklearn: Automated Machine Learning with scikit-learn
pycaret/pycaret: An open-source, low-code machine learning library in Python
nubank/fklearn: fklearn: Functional Machine Learning
wecarsoniv/augmented-pca: Repository for the AugmentedPCA Python package.
Data Generation
snorkel-team/snorkel: A system for quickly generating training data with weak supervision
3.5.2. Deep Learning
Julia: Flux and Knet
FluxML/Flux.jl: Relax! Flux is the ML library that doesn't make you tensor
sdobber/FluxArchitectures.jl: Complex neural network examples for Flux.jl
denizyuret/Knet.jl: Koç University deep learning framework.
Python: Jax, Pytorch, Tensorflow
Reviewn2cholas/awesome-jax: JAX - A curated list of resources https://github.com/google/jax
pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration
tensorflow/tensorflow: An Open Source Machine Learning Framework for Everyone
catalyst-team/catalyst: Accelerated deep learning R&D
Review: Chen-Cai-OSU/awesome-equivariant-network: Paper list for equivariant neural network
3.5.3. Reinforce Learning
Julia:
Python:
pfnet/pfrl: PFRL: a PyTorch-based deep reinforcement learning library
thu-ml/tianshou: An elegant PyTorch deep reinforcement learning library.
3.5.4. GNN
Julia:
CarloLucibello/GraphNeuralNetworks.jl: Graph Neural Networks in Julia
FluxML/GeometricFlux.jl: Geometric Deep Learning for Flux
Python:
pyg-team/pytorch_geometric: Graph Neural Network Library for PyTorch
dmlc/dgl: Python package built to ease deep learning on graph, on top of existing DL frameworks.
THUDM/cogdl: CogDL: An Extensive Toolkit for Deep Learning on Graphs
3.5.5. Transformer
Julia:
chengchingwen/Transformers.jl: Julia Implementation of Transformer models
Python:
3.5.6. Transfer Learning
3.5.7. Neural Tangent
Python:
google/neural-tangents: Fast and Easy Infinite Neural Networks in Python
3.5.8. Visulization
Python:
Semi-supervised Learning
Python:
TorchSSL/TorchSSL: A PyTorch-based library for semi-supervised learning (NeurIPS'21)
3.6. Probablistic Machine Learning and Deep Learning
Julia:
Python:
Probabilistic machine learning
OATML/bdl-benchmarks: Bayesian Deep Learning Benchmarks
3.6.1. GAN
Julia:
Python:
torchgan/torchgan: Research Framework for easy and efficient training of GANs based on Pytorch
3.6.2. Normilization Flows
Julia:
slimgroup/InvertibleNetworks.jl: A Julia framework for invertible neural networks
FFJord is impleted in DiffEqFlux.jl
Python:
Surveyjanosh/awesome-normalizing-flows: A list of awesome resources on normalizing flows.
3.6.3. VAE
Julia:
Python:
Variational Autoencoders — Pyro Tutorials 1.7.0 documentation
AntixK/PyTorch-VAE: A Collection of Variational Autoencoders (VAE) in PyTorch.
subinium/Pytorch-AutoEncoders at pythonrepo.com
Ritvik19/pyradox-generative at pythonrepo.com
3.6.4 BNN
RajDandekar/MSML21_BayesianNODE
bayesian-neural-networks · GitHub Topics
3.6.5 Diffusion-Models
3.7. Differential Equations and Scientific Computation
Julia:
All you need is the following organization (My Idol Prof. Christopher Rackauckas):
SciML Open Source Scientific Machine Learning
Including agent based models JuliaDynamics
nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing
PerezHz/TaylorIntegration.jl: ODE integration using Taylor's method, and more, in Julia
Probablistic Numerical Methods:
Julia:
nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing
Python:
ProbNum — probnum 0.1 documentation
C++:
3.7.1. Partial differential equation
Partial Differential Equation (PDE) Solvers Overview · SciML
vavrines/Kinetic.jl: Universal modeling and simulation of fluid dynamics upon machine learning
Ferrite-FEM/Ferrite.jl: Finite element toolbox for Julia
Python:
DedalusProject/dedalus: A flexible framework for solving PDEs with modern spectral methods.
Integral Differential Equation
JoshKarpel/idesolver: A general-purpose numerical integro-differential equation solver
3.7.2 Fractional Differential and Calculus
Julia
SciFracX/FractionalSystems.jl: Fractional order modeling and analysis in Julia.
3.8. Scientific Machine Learning (Differential Equation and ML)
massastrello/awesome-implicit-neural-models
High-Dimensional Partial Differential Equations - Deep PDE
3.8.1. Universal Differential Equations. (Neural differential equations)
Julia:
avik-pal/FastDEQ.jl: Deep Equilibrium Networks (but faster!!!)
UDE with Gaussion ProcessCrown421/GPDiffEq.jl
Python:
patrick-kidger/diffrax at zzun.app
3.8.2. Physical Informed Neural Netwworks
Julia:
Python:
lululxvi/deepxde: Deep learning library for solving differential equations and more
sciann/sciann: Deep learning for Engineers - Physics Informed Deep Learning
3.8.3. Neural Operator
Julia:
CliMA/OperatorFlux.jl: Operator layers for Flux.jl
brekmeuris/DrMZ.jl: Deep renormalized Mori-Zwanzig (DrMZ) Julia package.
3.9. Data Driven Methods (Equation Searching Methods)
Julia package including SINDy, Symbolic Regression, DMD
nmheim/NeuralArithmetic.jl: Collection of layers that can perform arithmetic operations
3.9.1. Symbolic Regression
cavalab/srbench: A living benchmark framework for symbolic regression
Python:
trevorstephens/gplearn: Genetic Programming in Python, with a scikit-learn inspired API
Julia:
MilesCranmer/SymbolicRegression.jl: Distributed High-Performance symbolic regression in Julia
sisl/ExprOptimization.jl: Algorithms for optimization of Julia expressions
3.9.2. SINDy (Sparse Identification of Nonlinear Dynamics from Data)
3.9.3. DMD (Dynamic Mode Decomposition)
mathLab/PyDMD: Python Dynamic Mode Decomposition
3.10. Model Evaluation
3.10.1. Structure Idendification
Julia:
SciML/StructuralIdentifiability.jl
alexeyovchinnikov/SIAN-Julia: Implementation of SIAN in Julia
3.10.2. Global Sensitivity Anylysis
Julia:
lrennels/GlobalSensitivityAnalysis.jl: Julia implementations of global sensitivity analysis methods.
Python:
R:
sensitivity
fast
sensobol
3.11. Optimal Transportation
Julia:
JuliaOptimalTransport/OptimalTransport.jl: Optimal transport algorithms for Julia
Python:
PythonOT/POT: POT : Python Optimal Transport
3.12. Agents, Graph and Networks
Computational Modeling Software Frameworks
Julia:
JuliaDynamics/Agents.jl: Agent-based modeling framework in Julia
cormullion/Karnak.jl: drawing graphs and networks with Luxor
JuliaTeX/TikzGraphs.jl: This library generates graph layouts using the TikZ graph layout package.
https://juliagraphs.org/GraphPlot.jl/
SGtSNEpi.jl: backend: Makie.jl
JuliaPlots/GraphRecipes.jl: Graph-related recipes to be used with Plots.jl
JuliaPlots/GraphMakie.jl: Plotting graphs with Makie
Python:
projectmesa/mesa: Mesa is an agent-based modeling framework in Python
Network
briatte/awesome-network-analysis: A curated list of awesome network analysis resources.
Python:
networkx/networkx: Network Analysis in Python
GiulioRossetti/ndlib: Network Diffusion Library - (for NetworkX and iGraph)
Welcome to Epidemics on Networks’s documentation! — Epidemics on Networks 1.2rc1 documentation
3.12 Benchmarks
jump-dev/benchmarks: A repository for long-term benchmarking of JuMP performance
PIK-ICoNe/NetworkDynamicsBenchmarks
JuliaSmoothOptimizers/SolverBenchmark.jl: Benchmark tools for solvers
cavalab/srbench: A living benchmark framework for symbolic regression
sbi-benchmark/sbibm: Simulation-based inference benchmark
4. Theoretical Analysis
Julia:
Python:
sympy/sympy: A computer algebra system written in pure Python
4.0. Special Functions
Julia:
JuliaMath/SpecialFunctions.jl: Special mathematical functions in Julia
InverseFunction JuliaMath/InverseFunctions.jl: Interface for function inversion in Julia
JuliaStats/StatsFuns.jl: Mathematical functions related to statistics.
JuliaStats/LogExpFunctions.jl: Julia package for various special functions based on log
and exp
.
scheinerman/Permutations.jl: Permutations class for Julia.
4.1. Symbolic Computation
Julia:
JuliaSymbolics/Symbolics.jl: A fast and modern CAS for a fast and modern language.
JuliaPy/SymPy.jl: Julia interface to SymPy via PyCall
jlapeyre/Symata.jl: language for symbolic mathematics
wbhart/AbstractAlgebra.jl: Generic abstract algebra functionality in pure Julia (no C dependencies)
Python:
sympy/sympy: A computer algebra system written in pure Python
FFTW
JuliaMath/FFTW.jl: Julia bindings to the FFTW library for fast Fourier transforms
4.3. Roots, Intepolations
4.3.1. Roots
Julia:
AllSciML/NonlinearSolve.jl: High-performance and differentiation-enabled nonlinear solvers
SciML/SciMLNLSolve.jl: Nonlinear solver bindings for the SciML Interface
JuliaMath/Roots.jl: Root finding functions for Julia
PolynomialRoots · Julia Packages
sglyon/MINPACK.jl: Wrapper for cminpack multivariate root finding routines
s-baumann/FixedPointAcceleration.jl: Fixed Point Acceleration for Julia
4.3.2. Interpolations and Approximations
Julia:
ApproxFun.jl
PumasAI/DataInterpolations.jl: A library of data interpolation and smoothing functions
JuliaMath/Interpolations.jl: Fast, continuous interpolation of discrete datasets in Julia
kbarbary/Dierckx.jl: Julia package for 1-d and 2-d splines
sisl/GridInterpolations.jl: Multidimensional grid interpolation in arbitrary dimensions
floswald/ApproXD.jl: B-splines and linear approximators in multiple dimensions for Julia
sostock/BSplines.jl: A Julia package for working with B-splines
stevengj/FastChebInterp.jl: fast multidimensional Chebyshev interpolation and regression in Julia
jipolanco/BSplineKit.jl: A collection of B-spline tools in Julia
NFFT/ANOVAapprox.jl: Approximation Package for High-Dimensional Functions in Julia
4.2. Bifurcation
rveltz/BifurcationKit.jl: A Julia package to perform Bifurcation Analysis
4.4 Polynomials
JuliaMath/Polynomials.jl: Polynomial manipulations in Julia
5. Writings, Blog and Web
JuliaDocs/Documenter.jl: A documentation generator for Julia.
Latex:
Detexify LaTeX handwritten symbol recognition
Display Julia Unicode in Latex
mossr/julia-mono-listings: LaTeX listings style for Julia and Unicode support for the JuliaMono font
Web:
facebook/docusaurus: Easy to maintain open source documentation websites.
Hexo
Jekyll • Simple, blog-aware, static sites | Transform your plain text into static websites and blogs
一个傻瓜式构建可视化 web的 Python 神器 -- streamlit
streamlit/streamlit: Streamlit — The fastest way to build data apps in Python
gradio-app/gradio: Create UIs for your machine learning model in Python in 3 minutes
GitHub Profile Settings:
abhisheknaiidu/awesome-github-profile-readme: 😎 A curated list of awesome GitHub Profile READMEs 📝
Shields.io: Quality metadata badges for open source projects
常用anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes
字体: be5invis/Sarasa-Gothic: Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕
Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher
Terminal
zsh
ohmyzsh
ohmyposh Customize | Oh My Posh