Skip to main content

MathEpiDeepLearning

See Website of MathEpiDeepLearning

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.

DiffrentialPrograming

Contents:

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

jangevaare/Pathogen.jl: Simulation, visualization, and inference tools for modelling the spread of infectious diseases with 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

cambridge-mlg/Covid19

affans/covid19abm.jl: Agent Based Model for COVID 19 transmission dynamics

Python:

ryansmcgee/seirsplus: Models of SEIRS epidemic dynamics with extensions, including network-structured populations, testing, contact tracing, and social distancing.

pyro.contrib.epidemiology.models — Pyro documentation

Modelling Human Mobility scikit-mobility/scikit-mobility: scikit-mobility: mobility analysis in Python

Matlab:

JDureau/AllScripts

1. Data Preprocessing

1.1. Data Science

Julia:

JuliaData

JuliaData/CSV.jl: Utility library for working with CSV and other delimited files in the Julia programming language

JuliaData/DataFrames.jl: In-memory tabular data in Julia

JuliaStats/TimeSeries.jl: Time series toolkit for Julia

Queryverse

JuliaDatabases

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:

LAMPSPUC/StateSpaceModels.jl: StateSpaceModels.jl is a Julia package for time-series analysis using state-space models.

miguelraz/StagedFilters.jl

JuliaDSP/DSP.jl: Filter design, periodograms, window functions, and other digital signal processing functionality

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!

CliMA/EnsembleKalmanProcesses.jl: Implements Optimization and approximate uncertainty quantification algorithms, Ensemble Kalman Inversion, and Ensemble Kalman Processes.

Outlier Detection

Surveyrob-med/awesome-TS-anomaly-detection: List of tools & datasets for anomaly detection on time-series data.

Julia:

OutlierDetectionJL

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)

cerlymarco/tsmoothie: A python library for time-series smoothing and outlier detection in a vectorized way.

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

Julia Statistics

gragusa (Giuseppe Ragusa)

cscherrer/MeasureTheory.jl: "Distributions" that might not add to one.

python

erdogant/distfit: Python package for probability density function fitting of univariate distributions of non-censored data.

2.2. (Deep Learning based) Time Seris Analysis

Julia: (few)

JuliaStats/TimeSeries.jl: Time series toolkit for Julia

JuliaDynamics/ARFIMA.jl: Simulate stochastic timeseries that follow ARFIMA, ARMA, ARIMA, AR, etc. processes

Python:

lmmentel/awesome-time-series: Resources for working with time series and sequence data

SurveyMaxBenChrist/awesome_time_series_in_python: This curated list contains python packages for time series analysis

Introduction — statsmodels

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

AIStream-Peelout/flow-forecast: Deep learning PyTorch library for time series forecasting, classification, and anomaly detection (originally for flood forecasting).

timeseriesAI/tsai: Time series Timeseries Deep Learning Machine Learning Pytorch fastai | State-of-the-art Deep Learning library for Time Series and Sequences in Pytorch / fastai

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.

alkaline-ml/pmdarima: A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.

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

TDAmeritrade/stumpy: STUMPY is a powerful and scalable Python library for modern time series analysis

databrickslabs/tempo: API for manipulating time series on top of Apache Spark: lagged time values, rolling statistics (mean, avg, sum, count, etc), AS OF joins, downsampling, and interpolation

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:

JuliaPlots

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

GenieFramework/Stipple.jl: The reactive UI library for interactive data applications with pure Julia.

theogf/Turkie.jl: Turing + Makie = Turkie

Python:

Matplotlib

rougier/scientific-visualization-book: An open access book on scientific visualization using python and matplotlib

R:

Color themes:

discrete.knit

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

The Algorithms

3.1. Differentialation, Quadrature and Tensor computation

3.1.1. Auto Differentiation

SciML/DiffEqSensitivity.jl: A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, and more for ODEs, SDEs, DDEs, DAEs, etc.

Julia:

FluxML/Zygote.jl: Intimate Affection Auditor

JuliaDiffEqFlux organization

JuliaDiff

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.

JuliaDiff/TaylorSeries.jl: A julia package for Taylor polynomial expansions in one and several independent variables.

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:

google/jax: Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

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:

SciML/DiffEqOperators.jl: Linear operators for discretizations of differential equations and scientific machine learning (SciML)

QuantEcon/SimpleDifferentialOperators.jl: Library for simple upwind finite differences

Python:

maroba/findiff: Python package for numerical derivatives and partial differential equations in any number of dimensions.

PyLops/pylops: PyLops – A Linear-Operator Library for Python

Differential Optimization (Conditional gradients)

Julia:

ZIB-IOL/FrankWolfe.jl: Julia implementation for various Frank-Wolfe and Conditional Gradient variants

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

JuliaSmoothOptimizers/ShiftedProximalOperators.jl: Proximal operators for use with RegularizedOptimization

Prox Repository

ReviewPyLops/pyproximal: PyProximal – Proximal Operators and Algorithms in Python

Condition Gradient:

ZIB-IOL/FrankWolfe.jl: Julia implementation for various Frank-Wolfe and Conditional Gradient variants

3.1.2. Quadrature

Learn One equals learn many

ReviewSciML/Quadrature.jl: A common interface for quadrature and numerical integration for the SciML scientific machine learning organization

SciML/QuasiMonteCarlo.jl: Lightweight and easy generation of quasi-Monte Carlo sequences with a ton of different methods on one API for easy parameter exploration in scientific machine learning (SciML)

SciML/SymbolicNumericIntegration.jl

Julia:

JuliaMath/QuadGK.jl: adaptive 1d numerical Gauss–Kronrod integration in Julia

JuliaMath/HCubature.jl: pure-Julia multidimensional h-adaptive integration

JuliaMath/Cubature.jl: One- and multi-dimensional adaptive integration routines for the Julia language

giordano/Cuba.jl: Library for multidimensional numerical integration with four independent algorithms: Vegas, Suave, Divonne, and Cuhre.

JuliaApproximation/FastGaussQuadrature.jl: Julia package for Gaussian quadrature

JuliaApproximation/ApproxFun.jl: Julia package for function approximation

machakann/DoubleExponentialFormulas.jl: One-dimensional numerical integration using the double exponential formula

JuliaApproximation/SingularIntegralEquations.jl: Julia package for solving singular integral equations

JuliaGNI/GeometricIntegrators.jl: Geometric Numerical Integration in Julia

stochastics-uni-luebeck/LevyArea.jl: Iterated stochastic integrals in Julia.

Bayesian Methods

Julia:

ranjanan/MonteCarloIntegration.jl: A package for multi-dimensional integration using monte carlo methods

theogf/BayesianQuadrature.jl: Is there anything we can't make Bayesian?

s-baumann/BayesianIntegral.jl: Bayesian Integration of functions

python:

Emukit | Emukit is a highly adaptable Python toolkit for enriching decision making under uncertainty.

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

JuliaMatrices

RalphAS

JuliaLinearAlgebra

JuliaSparse

JuliaLang/SparseArrays.jl: SparseArrays.jl is a Julia stdlib

SciML/LabelledArrays.jl: Arrays which also have a label for each element for easy scientific machine learning (SciML)

SciML/RecursiveArrayTools.jl: Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications

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.

SciML/LabelledArrays.jl: Arrays which also have a label for each element for easy scientific machine learning (SciML)

Computation

BLAS and LAPACKJuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia

mcabbott/Tullio.jl: ⅀

JuliaLinearAlgebra/Octavian.jl: Multi-threaded BLAS-like library that provides pure Julia matrix multiplication

JuliaGPU/GemmKernels.jl: Flexible and performant GEMM kernels in Julia

MasonProtter/Gaius.jl: Divide and Conquer Linear Algebra

Eigenvalues and Solvers

Eignep-pack/NonlinearEigenproblems.jl: Nonlinear eigenvalue problems in Julia: Iterative methods and benchmarks

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

Jutho/KrylovKit.jl: Krylov methods for linear problems, eigenvalues, singular values and matrix functions

pablosanjose/QuadEig.jl: Julia implementation of the quadeig algorithm for the solution of quadratic matrix pencils

JuliaApproximation/SpectralMeasures.jl: Julia package for finding the spectral measure of structured self adjoint operators

Solver:

JuliaInv/KrylovMethods.jl: Simple and fast Julia implementation of Krylov subspace methods for linear systems.

JuliaSmoothOptimizers/Krylov.jl: A Julia Basket of Hand-Picked Krylov Methods

Eig TooJuliaLinearAlgebra/IterativeSolvers.jl: Iterative algorithms for solving linear systems, eigensystems, and singular value problems

tjdiamandis/RandomizedPreconditioners.jl

JuliaLinearAlgebra/RecursiveFactorization.jl

Spectral methods

JuliaApproximation/SpectralMeasures.jl: Julia package for finding the spectral measure of structured self adjoint operators

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

SparseJuliaLang/SuiteSparse.jl: Development of SuiteSparse.jl, which ships as part of the Julia standard library.

Python:

scipy.sparse.linalg.eigs — SciPy v1.7.1 Manual

Maps and Operators

Jutho/LinearMaps.jl: A Julia package for defining and working with linear maps, also known as linear transformations or linear operators acting on vectors. The only requirement for a LinearMap is that it can act on a vector (by multiplication) efficiently.

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

ranocha/SummationByPartsOperators.jl: A Julia library of summation-by-parts (SBP) operators used in finite difference, Fourier pseudospectral, continuous Galerkin, and discontinuous Galerkin methods to get provably stable semidiscretizations, paying special attention to boundary conditions.

hakkelt/FunctionOperators.jl: Julia package that allows writing code close to mathematical notation memory-efficiently.

JuliaApproximation/ApproxFun.jl: Julia package for function approximation

Matrxi Equations

andreasvarga/MatrixEquations.jl: Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia

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

JuliaGPU

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

SciML/GalacticOptim.jl: Local, global, and beyond optimization for scientific machine learning (SciML)

Opt Organization:

JuliaOpt

JuliaNLSolvers

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

JuliaFirstOrder

NicolasL-S/SpeedMapping.jl: General fixed point mapping acceleration and optimization in Julia

JuliaManifolds/Manopt.jl: Optimization on Manifolds in Julia

MPEC: chkwon/Complementarity.jl: provides a modeling interface for mixed complementarity problems (MCP) and math programs with equilibrium problems (MPEC) via JuMP

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:

guofei9987/scikit-opt: Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)

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

jbrea/CMAEvolutionStrategy.jl

AStupidBear/GCMAES.jl: Gradient-based Covariance Matrix Adaptation Evolutionary Strategy for Real Blackbox Optimization

itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC

3.2.3. Genetic Algorithms

Julia:

d9w/CartesianGeneticProgramming.jl: Cartesian Genetic Programming for Julia

WestleyArgentum/GeneticAlgorithms.jl: A lightweight framework for writing genetic algorithms in 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

Goodhiroyuki-kasai/SGDLibrary: MATLAB/Octave library for stochastic optimization algorithms: Version 1.0.20

gowerrobert/StochOpt.jl: A suite of stochastic optimization methods for solving the empirical risk minimization problem.

pcmoritz/slbfgs: Stochastic LBFGS

3.3. Optimal Control

eleurent/phd-bibliography: References on Optimal Control, Reinforcement Learning and Motion Planning

mintOC

Julia: Jump + InfiniteOpt

Jump is powerfull!!!

jump-dev/JuMP.jl: Modeling language for Mathematical Optimization (linear, mixed-integer, conic, semidefinite, nonlinear)

InfiniteOpt is powerfull!!!

pulsipher/InfiniteOpt.jl: An intuitive modeling interface for infinite-dimensional optimization problems.

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.

Solver Manuals

Julia:

martinbiel/StochasticPrograms.jl: Julia package for formulating and analyzing stochastic recourse models.

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

JuliaControl

JuliaMPC/NLOptControl.jl: nonlinear control optimization tool

Python:

casadi is powerful!

python-control/python-control: The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.

Shunichi09/PythonLinearNonlinearControl: PythonLinearNonLinearControl is a library implementing the linear and nonlinear control theories in python.

Matlab:

OpenOCL/OpenOCL: Open Optimal Control Library for Matlab. Trajectory Optimization and non-linear Model Predictive Control (MPC) toolbox.

jkoendev/optimal-control-literature-software: List of literature and software for optimal control and numerical optimization.

3.4. Bayesian Inference

StatisticalRethinkingJulia

StanJulia

Julia:

The Turing Language

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

BIASlab

StatisticalRethinkingJulia/StatisticalRethinking.jl: Julia package with selected functions in the R package rethinking. Used in the SR2... projects.

Python:

pymc-devs/pymc: Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara

pints-team/pints: Probabilistic Inference on Noisy Time Series

pyro-ppl/pyro: Deep universal probabilistic programming with Python and PyTorch

pyro-ppl/numpyro: Probabilistic programming with NumPy powered by JAX for autograd and JIT compilation to GPU/TPU/CPU.

blackjax-devs/blackjax: BlackJAX is a sampling library designed for ease of use, speed and modularity.

tensorflow/probability: Probabilistic reasoning and statistical analysis in TensorFlow

google/edward2: A simple probabilistic programming language.

thu-ml/zhusuan: A probabilistic programming library for Bayesian deep learning, generative models, based on Tensorflow

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

tpapp/DynamicHMC.jl: Implementation of robust dynamic Hamiltonian Monte Carlo methods (NUTS) in Julia.

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

bat/UltraNest.jl: Julia wrapper for UltraNest: advanced nested sampling for model comparison and parameter estimation

itsdfish/DifferentialEvolutionMCMC.jl: A Julia package for Differential Evolution MCMC

Python:

AdamCobb/hamiltorch: PyTorch-based library for Riemannian Manifold Hamiltonian Monte Carlo (RMHMC) and inference in Bayesian neural networks

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

JohannesBuchner/UltraNest: Fit and compare complex models reliably and rapidly. Advanced nested sampling.

ruqizhang/csgmcmc: Cyclical Stochastic Gradient MCMC for Bayesian Deep Learning

Custom Tensorflow optimizer cSGLD (Stochastic Langevin Dynamics) in TF2: correct update ops? · Issue #2469 · tensorflow/addons

3.4.2. Approximate Bayesian Computation (ABC)

Also called likelihood free or simulation based methods

Reviewsbi-benchmark/sbibm: Simulation-based inference benchmark

Julia: (few)

JuliaApproxInference

tanhevg/GpABC.jl

marcjwilliams1/ApproxBayes.jl: Approximate Bayesian Computation (ABC) algorithms for likelihood free inference in julia

francescoalemanno/KissABC.jl: Pure julia implementation of Multiple Affine Invariant Sampling for efficient Approximate Bayesian Computation

Python:

elfi-dev/elfi: ELFI - Engine for Likelihood-Free Inference

eth-cscs/abcpy: ABCpy package

pints-team/pints: Probabilistic Inference on Noisy Time Series

mackelab/sbi: Simulation-based inference in PyTorch

ICB-DCM/pyABC: distributed, likelihood-free inference

diyabc/abcranger: ABC random forests for model choice and parameter estimation, pure C++ implementation

3.4.3. Data Assimilation (SMC, particles filter)

Julia:

Alexander-Barth/DataAssim.jl: Implementation of various ensemble Kalman Filter data assimilation methods in Julia

baggepinnen/LowLevelParticleFilters.jl: Simple particle/kalman filtering, smoothing and parameter estimation

JuliaGNSS/KalmanFilters.jl: Various Kalman Filters: KF, UKF, AUKF and their Square root variant

CliMA/EnsembleKalmanProcesses.jl: Implements Optimization and approximate uncertainty quantification algorithms, Ensemble Kalman Inversion, and Ensemble Kalman Processes.

FRBNY-DSGE/StateSpaceRoutines.jl: Package implementing common state-space routines.

simsurace/FeedbackParticleFilters.jl: A Julia package that provides (feedback) particle filters for nonlinear stochastic filtering and data assimilation problems

mjb3/DiscretePOMP.jl: Bayesian inference for Discrete state-space Partially Observed Markov Processes in Julia. See the docs:

Python:

nchopin/particles: Sequential Monte Carlo in python

rlabbe/filterpy: Python Kalman filtering and optimal estimation library. Implements Kalman filter, particle filter, Extended Kalman filter, Unscented Kalman filter, g-h (alpha-beta), least squares, H Infinity, smoothers, and more. Has companion book 'Kalman and Bayesian Filters 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

Red-Portal/KLpqVI.jl

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

JuliaRobotics

JuliaStats/KernelDensity.jl: Kernel density estimators for Julia

JuliaRobotics/KernelDensityEstimate.jl: Kernel Density Estimate with product approximation using multiscale Gibbs sampling

theogf/AugmentedGaussianProcesses.jl: Gaussian Process package based on data augmentation, sparsity and natural gradients

JuliaGaussianProcesses/TemporalGPs.jl: Fast inference for Gaussian processes in problems involving time

aterenin/SparseGaussianProcesses.jl: A Julia implementation of sparse Gaussian processes via path-wise doubly stochastic variational inference.

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:

cornellius-gp/gpytorch: A highly efficient and modular implementation of Gaussian Processes in PyTorch

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

not maintainedkzahedi/Shannon.jl: Entropy, Mutual Information, KL-Divergence related to Shannon's information theory and functions to binarize data

gragusa/Divergences.jl: A Julia package for evaluation of divergences between distributions

Tchanders/InformationMeasures.jl: Entropy, mutual information and higher order measures from information theory, with various estimators and discretisation methods.

JuliaDynamics/TransferEntropy.jl: Transfer entropy (conditional mutual information) estimators for the Julia language

cynddl/Discreet.jl: A Julia package to estimate discrete entropy and mutual information

3.4.8. Uncertainty

Uncertainty propogation

Julia:

JuliaPhysics/Measurements.jl: Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration.

baggepinnen/MonteCarloMeasurements.jl: Propagation of distributions by Monte-Carlo sampling: Real number types with uncertainty represented by samples.

ReviewUncertainty Programming, Generalized Uncertainty Quantification

AnderGray/MomentArithmetic.jl: Rigorous moment propagation with partial information about moments and dependencies in Julia

mschauer/Mitosis.jl: Automatic probabilistic programming for scientific machine learning and dynamical models

Python

uncertainty-toolbox/uncertainty-toolbox: A python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization

pyro-ppl/funsor: Functional tensors for probabilistic programming

lebigot/uncertainties: Transparent calculations with uncertainties on the quantities involved (aka "error propagation"); calculation of derivatives.

3.4.9. Casual

zenna/Omega.jl: Causal, Higher-Order, Probabilistic Programming

mschauer/CausalInference.jl: Causal inference, graphical models and structure learning with the PC algorithm.

JuliaDynamics/CausalityTools.jl: Algorithms for causal inference and the detection of dynamical coupling from time series, and for approximation of the transfer operator and invariant measures.

python

Review: rguo12/awesome-causality-algorithms: An index of algorithms for learning causality with data

3.4.10. Sampling

MrUrq/LatinHypercubeSampling.jl: Julia package for the creation of optimised Latin Hypercube Sampling Plans

SciML/QuasiMonteCarlo.jl: Lightweight and easy generation of quasi-Monte Carlo sequences with a ton of different methods on one API for easy parameter exploration in scientific machine learning (SciML)

3.4.11 Message Passing

Julia:

biaslab/ReactiveMP.jl: Julia package for automatic Bayesian inference on a factor graph with reactive message passing

biaslab/ForneyLab.jl: Julia package for automatically generating Bayesian inference algorithms through message passing on Forney-style factor graphs.

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

JuliaML

JuliaAI

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.

JuliaStats/MultivariateStats.jl: A Julia package for multivariate statistics and data analysis (e.g. dimension reduction)

Linear RegressionJuliaAI/MLJLinearModels.jl: Generalized Linear Regressions Models (penalized regressions, robust regressions, ...)

gerdm/pknn.jl: Probabilistic k-nearest neighbours

IBM/AutoMLPipeline.jl: A package that makes it trivial to create and evaluate machine learning pipeline architectures.

Python:

scikit-learn: machine learning in Python — scikit-learn 1.0.1 documentation

DistrictDataLabs/yellowbrick: Visual analysis and diagnostic tools to facilitate machine learning model selection.

automl/auto-sklearn: Automated Machine Learning with scikit-learn

h2oai/h2o-3: H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.

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

lk-geimfari/mimesis: Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.

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

google/jax: Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

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

murufeng/awesome_lightweight_networks: MobileNetV1-V2,MobileNeXt,GhostNet,AdderNet,ShuffleNetV1-V2,Mobile+ViT etc. ⭐⭐⭐⭐⭐

Review: Chen-Cai-OSU/awesome-equivariant-network: Paper list for equivariant neural network

3.5.3. Reinforce Learning

Julia:

JuliaPOMDP

JuliaReinforcementLearning

Python:

ray-project/ray: An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.

tensorlayer/tensorlayer: Deep Learning and Reinforcement Learning Library for Scientists and Engineers 🔥

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

benedekrozemberczki/pytorch_geometric_temporal: PyTorch Geometric Temporal: Spatiotemporal Signal Processing with Neural Machine Learning Models (CIKM 2021)

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:

huggingface/transformers: 🤗 Transformers: State-of-the-art Natural Language Processing for Pytorch, TensorFlow, and JAX.

3.5.6. Transfer Learning

Surveyjindongwang/transferlearning: Transfer learning / domain adaptation / domain generalization / multi-task learning etc. papers, codes. datasets, applications, tutorials.-迁移学习

3.5.7. Neural Tangent

Python:

google/neural-tangents: Fast and Easy Infinite Neural Networks in Python

3.5.8. Visulization

Python:

ashishpatel26/Tools-to-Design-or-Visualize-Architecture-of-Neural-Network: Tools to Design or Visualize Architecture of Neural Network

julrog/nn_vis: A project for processing neural networks and rendering to gain insights on the architecture and parameters of a model through a decluttered representation.

PowerPointsdair-ai/ml-visuals: 🎨 ML Visuals contains figures and templates which you can reuse and customize to improve your scientific writing.

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:

mcosovic/FactorGraph.jl: The FactorGraph package provides the set of different functions to perform inference over the factor graph with continuous or discrete random variables using the belief propagation algorithm.

stefan-m-lenz/BoltzmannMachines.jl: A Julia package for training and evaluating multimodal deep Boltzmann machines

BIASlab

biaslab/ReactiveMP.jl: Julia package for automatic Bayesian inference on a factor graph with reactive message passing

Python:

Probabilistic machine learning

thu-ml/zhusuan: A probabilistic programming library for Bayesian deep learning, generative models, based on Tensorflow

OATML/bdl-benchmarks: Bayesian Deep Learning Benchmarks

pgmpy/pgmpy: Python Library for learning (Structure and Parameter) and inference (Probabilistic and Causal) in Bayesian Networks.

scikit-learn-contrib/imbalanced-learn: A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning

3.6.1. GAN

Julia:

Python:

torchgan/torchgan: Research Framework for easy and efficient training of GANs based on Pytorch

kwotsin/mimicry: [CVPR 2020 Workshop] A PyTorch GAN library that reproduces research results for popular GANs.

3.6.2. Normilization Flows

Julia:

TuringLang/Bijectors.jl: Implementation of normalising flows and constrained random variable transformations

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.

RameenAbdal/StyleFlow: StyleFlow: Attribute-conditioned Exploration of StyleGAN-generated Images using Conditional Continuous Normalizing Flows (ACM TOG 2021)

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.

timsainb/tensorflow2-generative-models: Implementations of a number of generative models in Tensorflow 2. GAN, VAE, Seq2Seq, VAEGAN, GAIA, Spectrogram Inversion. Everything is self contained in a jupyter notebook for easy export to colab.

altosaar/variational-autoencoder: Variational autoencoder implemented in tensorflow and pytorch (including inverse autoregressive flow)

subinium/Pytorch-AutoEncoders at pythonrepo.com

Ritvik19/pyradox-generative at pythonrepo.com

3.6.4 BNN

JavierAntoran/Bayesian-Neural-Networks: Pytorch implementations of Bayes By Backprop, MC Dropout, SGLD, the Local Reparametrization Trick, KF-Laplace, SG-HMC and more

RajDandekar/MSML21_BayesianNODE

bayesian-neural-networks · GitHub Topics

3.6.5 Diffusion-Models

heejkoo/Awesome-Diffusion-Models: A collection of resources and papers on Diffusion Models and Score-based Models, a darkhorse in the field of Generative Models

3.7. Differential Equations and Scientific Computation

SciML/SciMLDocs

Julia:

All you need is the following organization (My Idol Prof. Christopher Rackauckas):

SciML Open Source Scientific Machine Learning

Including agent based models JuliaDynamics

BioJulia

nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing

PerezHz/TaylorIntegration.jl: ODE integration using Taylor's method, and more, in Julia

gideonsimpson/BasicMD.jl: A collection of basic routines for Molecular Dynamics simulations implemented in Julia

Probablistic Numerical Methods:

Julia:

nathanaelbosch/ProbNumDiffEq.jl: Probabilistic ODE Solvers via Bayesian Filtering and Smoothing

Python:

ProbNum — probnum 0.1 documentation

C++:

odeint

LLNL/sundials: Official development repository for SUNDIALS - a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. Pull requests are welcome for bug fixes and minor changes.

3.7.1. Partial differential equation

Partial Differential Equation (PDE) Solvers Overview · SciML

SurveyJuliaPDE/SurveyofPDEPackages: Survey of the packages of the Julia ecosystem for solving partial differential equations

SciML/DiffEqOperators.jl: Linear operators for discretizations of differential equations and scientific machine learning (SciML)

vavrines/Kinetic.jl: Universal modeling and simulation of fluid dynamics upon machine learning

Gridap

kailaix/AdFem.jl: Innovative, efficient, and computational-graph-based finite element simulator for inverse modeling

SciML/ExponentialUtilities.jl: Utility functions for exponential integrators for the SciML scientific machine learning ecosystem

trixi-framework/Trixi.jl: Trixi.jl: Adaptive high-order numerical simulations of hyperbolic PDEs in Julia

JuliaIBM

ranocha/SummationByPartsOperators.jl: A Julia library of summation-by-parts (SBP) operators used in finite difference, Fourier pseudospectral, continuous Galerkin, and discontinuous Galerkin methods to get provably stable semidiscretizations, paying special attention to boundary conditions.

Ferrite-FEM/Ferrite.jl: Finite element toolbox for Julia

JuliaFEM

pseudospectralFourierFlows/FourierFlows.jl: Tools for building fast, hackable, pseudospectral partial differential equation solvers on periodic domains

Python:

DedalusProject/dedalus: A flexible framework for solving PDEs with modern spectral methods.

FEniCS Project

Integral Differential Equation

TSGut/SparseVolterraExamples.jl: A number of examples built on the method described in https://arxiv.org/abs/2005.06081 for solving nonlinear and integro-differential Volterra equations

JoshKarpel/idesolver: A general-purpose numerical integro-differential equation solver

vitesempl/RK-IDE-Julia: Julia package for solving Differential Equations with Discrete and Distributed delays

3.7.2 Fractional Differential and Calculus

Julia

SciFracX

SciFracX/FractionalDiffEq.jl: FractionalDiffEq.jl: A Julia package aiming at solving Fractional Differential Equations using high performance numerical methods

SciFracX/FractionalSystems.jl: Fractional order modeling and analysis in Julia.

SciFracX/FractionalCalculus.jl: FractionalCalculus.jl: A Julia package for high performance, fast convergence and high precision numerical fractional calculus computing.

SciFracX/FractionalTransforms.jl: FractionalTransforms.jl: A Julia package aiming at providing fractional order transforms with high performance.

3.8. Scientific Machine Learning (Differential Equation and ML)

Zymrael/awesome-neural-ode: A collection of resources regarding the interplay between differential equations, deep learning, dynamical systems, control and numerical methods.

massastrello/awesome-implicit-neural-models

High-Dimensional Partial Differential Equations - Deep PDE

3.8.1. Universal Differential Equations. (Neural differential equations)

Julia:

SciML/DiffEqFlux.jl: Universal neural differential equations with O(1) backprop, GPUs, and stiff+non-stiff DE solvers, demonstrating scientific machine learning (SciML) and physics-informed machine learning methods

avik-pal/FastDEQ.jl: Deep Equilibrium Networks (but faster!!!)

UDE with Gaussion ProcessCrown421/GPDiffEq.jl

Python:

DiffEqML/torchdyn: A PyTorch based library for all things neural differential equations and implicit neural models.

rtqichen/torchdiffeq: Differentiable ODE solvers with full GPU support and O(1)-memory backpropagation.

patrick-kidger/diffrax at zzun.app

3.8.2. Physical Informed Neural Netwworks

Predictive Intelligence Lab

Julia:

SciML/NeuralPDE.jl: Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation

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:

foldfelis/NeuralOperators.jl: learning the solution operator for partial differential equations in pure 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

SciML/DataDrivenDiffEq.jl: Data driven modeling and automated discovery of dynamical systems for the SciML Scientific Machine Learning organization

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

MilesCranmer/PySR: Simple, fast, and parallelized symbolic regression in Python/Julia via regularized evolution and simulated annealing

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)

dynamicslab/pysindy: A package for the sparse identification of nonlinear dynamical systems from data

dynamicslab/modified-SINDy: Example code for paper: Automatic Differentiation to Simultaneously Identify Nonlinear Dynamics and Extract Noise Probability Distributions from Data

3.9.3. DMD (Dynamic Mode Decomposition)

mathLab/PyDMD: Python Dynamic Mode Decomposition

foldfelis/NeuralOperators.jl: learning the solution operator for partial differential equations in pure Julia.

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.

SciML/GlobalSensitivity.jl

SciML/DiffEqSensitivity.jl: A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, and more for ODEs, SDEs, DDEs, DAEs, etc.

Python:

SALib/SALib: Sensitivity Analysis Library in Python. Contains Sobol, Morris, FAST, and other methods.

R:

sensitivity

fast

sensobol

3.11. Optimal Transportation

Julia:

Optimal transport in Julia

JuliaOptimalTransport/OptimalTransport.jl: Optimal transport algorithms for Julia

JuliaOptimalTransport/ExactOptimalTransport.jl: Solving unregularized optimal transport problems with Julia

Python:

PythonOT/POT: POT : Python Optimal Transport

ott-jax/ott

3.12. Agents, Graph and Networks

Computational Modeling Software Frameworks

Julia:

JuliaGraphs

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

SciML/SciMLBenchmarks.jl: Benchmarks for scientific machine learning (SciML) software and differential equation solvers

jump-dev/benchmarks: A repository for long-term benchmarking of JuMP performance

PIK-ICoNe/NetworkDynamicsBenchmarks

JuliaSmoothOptimizers/SolverBenchmark.jl: Benchmark tools for solvers

StatisticalRethinkingJulia/MCMCBenchmarks.jl: Comparing performance and results of mcmc options using Julia

cavalab/srbench: A living benchmark framework for symbolic regression

sbi-benchmark/sbibm: Simulation-based inference benchmark

4. Theoretical Analysis

Julia:

Julia Math

JuliaApproximation

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.

Readme · LambertW.jl

scheinerman/Permutations.jl: Permutations class for Julia.

4.1. Symbolic Computation

Julia:

JuliaSymbolics

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)

rjrosati/SymbolicTensors.jl: Manipulate tensors symbolically in Julia! Currently needs a SymPy dependency, but work is ongoing to change the backend to SymbolicUtils.jl

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

JuliaNLSolvers/NLsolve.jl: Julia solvers for systems of nonlinear equations and mixed complementarity problems

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.

chriskiehl/Gooey: Turn (almost) any Python command line program into a full GUI application with one line

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

wg030/jlcode: A latex package for displaying Julia code using the listings package. The package supports pdftex, luatex and xetex for compilation.

davibarreira/NotebookToLaTeX.jl: A Julia package for converting your Pluto and Jupyter Notebooks into beautiful Latex.

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

tlienart/Franklin.jl: (yet another) static site generator. Simple, customisable, fast, maths with KaTeX, code evaluation, optional pre-rendering, in Julia.

一个傻瓜式构建可视化 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

ButterAndButterfly/GithubTools: 目标是创建会刷新的ReadMe首页! 在这里,你可以得到Github star/fork总数图标, 项目star历史曲线,star数最多的前N个Repo信息...

常用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