Charles Margossian is a tenure-track assistant professor of statistics at the University of British Columbia who leads a research program in Bayesian modeling and probabilistic machine learning, applying these methods to public health, biomedicine, and astrophysics. With a PhD from Columbia and a decade of experience spanning the Flatiron Institute and industry internships at Google, he blends rigorous research with practical software engineering to produce high-performance open-source tools for complex scientific inference. A core contributor to the Stan ecosystem, he has implemented solver-level enhancements and optimized matrix exponential routines in the Stan Math library, reflecting deep expertise in automatic differentiation and scientific computing. He also teaches across undergraduate and graduate levels, championing curricula that connect statistics to modern AI and empirical science, and has a track record of shipping reproducible tools such as Torsten for pharmacometrics. An often-overlooked strength is his ability to translate advanced MCMC and Laplace-approximation research into production-ready code that empowers domain scientists.
10 years of coding experience
4 years of employment as a software developer
Bachelor of Science - BS Physics (Intensive Track), Bachelor of Science - BS Physics (Intensive Track) at Yale University
Doctorat de philosophie Statistiques, Doctorat de philosophie Statistiques at Columbia University
The Stan Math Library is a C++ template library for automatic differentiation of any order using forward, reverse, and mixed modes. It includes a range of built-in functions for probabilistic modeling, linear algebra, and equation solving.
Role in this project:
Back-end Developer
Contributions:19 reviews, 503 commits, 16 PRs in 6 years 3 months
Contributions summary:Charles primarily worked on implementing and modifying the `matrix_exp` function for the Stan Math Library. Their contributions involved adding a prototype for the matrix exponential function and extending it to handle 2x2 matrices, a common optimization. Further, they added a separate version of this function for symmetric matrices. The user also added unit tests for the new function. The user also made documentation and syntax improvements.
Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
Role in this project:
Back-end Developer
Contributions:61 commits, 8 PRs, 57 pushes in 2 years 5 months
Contributions summary:Charles's commits primarily involve edits to grammar files and semantic actions related to the Stan language. The changes indicate an effort to implement and validate components within the algebraic solver functionality. The user's work includes adjustments to data structures, function signatures, and semantic validation, suggesting a focus on refining the underlying mathematical and computational aspects of the Stan language. This likely involved ensuring correct type checking, argument validation, and overall functionality of the solver within the Stan ecosystem.
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.
Request Free Trial
Charles Margossian - Assistant Professor at The University of British Columbia