Welcome to the first meetup of the year! This meetup Bob Carpenter will join us to talk through some the engineering details of Stan. Pizza will arrive at 6:30 and we will start the talk at 7.
After summarizing what Stan does, this talk will focus on how Stan is engineered. The talk will be structured into pieces, following the organization of the Stan software.
Stan math library: differentiable math and stats functions, template metaprorgrams to manage constants and vectorization, matrix derivatives, and differential equation derivatives.
Stan language: block structure and execution, unconstraining variable transforms and automatic Jacobians, transformed data, parameters, and generated quantities execution.
Stan algorithms: Hamiltonian Monte Carlo and the no-U-turn sampler (NUTS), automatic differentiation variational inference (ADVI).
Stan infrastructure and process: Time permitting, I can also discuss Stan's developer process, how the code repositories are organized, and the code review and continuous integration process for getting new code into the repository.
Bob Carpenter is a research scientist in computational statistics (Columbia University). He designed the Stan probabilistic programming language and is one of the Stan core developers.
Bob has a Ph.D. in cognitive and computer science (University of Edinburgh). In the past, he was a professor of computational linguistics (Carnegie Mellon University) and an industrial researcher and programmer in speech recognition and natural language processing (Bell Labs, SpeechWorks, LingPipe). In addition to working on Stan, he's written two books on programming language theory and linguistics, many papers, and the LingPipe natural language processing toolkit.