Skip to main content
Open-source tools from the group. Everything is on GitHub under jkitchin.
1,264 GitHub stars across these packages. Numbers update live from GitHub, PyPI and crates.io.
Featured
The scimax scientific computing environment for VS Code. Org-mode and Markdown editing, runnable source blocks with Jupyter kernels, org-ref citations, a research journal and capture templates, Marp slide decks, and export to PDF, Word and Jupyter notebooks.
16 1 1 day ago
Optimization
A mixed-integer nonlinear programming modeling language and solver, using spatial branch and bound over convex relaxations with interior point subsolvers.
32 6 1 day ago
A pure-Rust family of interior point solvers that began as a port of Ipopt, now covering nonlinear, conic and quadratic programs.
81 9 1 day ago
A pure-Rust sparse symmetric indefinite linear solver with certified inertia counts, built for interior point optimization.
21 3 4 days ago
Deterministic global optimization of plain JAX functions, using McCormick relaxations of the jaxpr and branch and bound for a certified lower bound.
0 0 9 days ago
discopt plugins
Extensions that add domain models and methods to the discopt modeling language.
Design of experiments for discopt, from active-learning optimization and classical factorial and mixture designs to model-based D-, A- and E-optimal design.
2 0 1 day ago
Microkinetic modeling for discopt, with catalysis kinetics, degree of rate control, mechanism discovery and selection, and electrochemistry.
2 0 1 day ago
Variable aggregation, a reduced-space presolve for nonlinear optimization, following Naik et al. (arXiv:2502.13869).
0 0 10 days ago
Application builders for AC optimal power flow and pooling problems in discopt.
0 0 10 days ago
An optimization course and a tutor command-line tool built on discopt.
0 0 1 day ago
Process modeling and surrogates
A JAX framework for differentiable chemical process flowsheets, for simulation, optimization and technoeconomic analysis.
15 1 2 days ago
Differentiable soft decision trees in JAX with built-in uncertainty quantification, scikit-learn estimators and MILP export.
0 0 2 days ago
Linear and hyperplane decision trees in pure JAX for piecewise-linear surrogate models.
3 1 7 days ago
Iterative Bayesian additive regression trees in JAX, which find compact symbolic descriptors with uncertainty and export them to discopt for global optimization.
0 0 10 days ago
A Tennessee Eastman Process simulator in Rust, with Python wheels and a browser app.
2 0 10 days ago
Machine learning and scientific computing
A symbolic regression engine built on JAX.
43 3 3 days ago
Python computations in science and engineering. A book and a library of helpers for numerical methods, regression and more.
284 75 3 days ago
An ASE-compliant Python interface to VASP.
157 64 10 days ago
Modeling materials using density functional theory with VASP and the Atomic Simulation Environment.
468 145 2 days ago
Deprecated
Superseded packages, kept here for reference.
A memory-safe interior point optimizer for nonlinear programming, written in Rust. Superseded by pounce.
45 4 2 months ago