Ian Langmore is an AI research scientist and mathematical software engineer with 13 years of experience translating inverse problems and uncertainty quantification into scalable probabilistic software. He has driven research and production work at Google—most recently pairing neural networks with differentiable fluid solvers for weather forecasting—and now leads AI research at Gridmatic. Ian excels at high-performance scientific Python, probabilistic modeling, Monte Carlo simulation, and building large-scale data pipelines, with notable open-source contributions to TensorFlow Probability and Statsmodels. His background in PDE inverse problems and a PhD in mathematics give him uncommon rigor when framing physical systems probabilistically, and he often bridges theory and deployable engineering in the same project.
13 years of coding experience
20 years of employment as a software developer
PhD Mathematics 2008, PhD Mathematics 2008 at University of Washington
Statsmodels: statistical modeling and econometrics in Python
Role in this project:
Back-end Developer / Data Scientist
Contributions:130 commits in 3 months
Contributions summary:Ian made several changes related to the implementation of L1 regularization for the Statsmodels library. They focused on adding and refining methods for L1 regularization, including a function called `fit_regularized` and an option for the "auto" mode of parameter trimming. Their work involved modifications to the core model fitting process, specifically within the context of discrete choice models. Additionally, the user addressed issues and made improvements to the testing suite of the library for L1 regularized regression.
Probabilistic reasoning and statistical analysis in TensorFlow
Role in this project:
ML Engineer
Contributions:77 commits, 8 comments, 1 issue in 4 years 5 months
Contributions summary:Ian contributed to the probabilistic reasoning and statistical analysis in TensorFlow by fixing bugs and upgrading documentation/tests in the `replica_exchange_mc.py` file. They also updated the code to reference `tf.linalg` instead of `tf.contrib.linalg` throughout the project. Further contributions include introducing new functions within `tfp.stats`, such as `covariance`, `stddev`, and `cholesky_covariance`, and updating the code to work with dynamic step sizes.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.