New Open-Source Software Library Puts Advanced Math Methods Within Global Reach

Date

Author

By Casey Moffitt
QMC graphic

By teaming up an Illinois Institute of Technology alumnus with a current student, Professor of Applied Mathematics Fred Hickernell got the help he needed to develop a software library to make advanced mathematical methods more available to researchers and industry across the globe.

This research group worked together to develop an open-source library of Quasi-Monte Carlo (QMC) software. Distributing it through Github, PyPI, their own blog, and giving tutorials at conferences like University of Oxford’s International Conference In Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing and PyData Chicago makes the mathematical method more accessible to more people. Hickernell says QMC simulations can benefit researchers and practitioners predicting probability distributions in the fields of financial risk, uncertainty quantification, and machine learning.

“QMC has matured to the point that it is being used in industrial applications,” Hickernell says. “Because different research groups focus on different areas of QMC research, no one group’s software has all the components needed for all QMC simulation.”

While attending the Society for Industrial and Applied Mathematics (SIAM) Conference on Computational Science and Engineering last year in Spokane, Washington, Hickernell met with his former student Michael McCourt (AMAT ’07), research engineer at the San Francisco-based startup SigOpt. They talked about working on a project together and over the next five months agreed to develop an open-source QMC library in the Python programming language, and the QMCPy project began.

“One of the disadvantages of being at a venture capital-funded startup is the lack of time available to work on projects that are not immediately business related,” McCourt says. “In turn, however, one of the advantages is that you have access to funds and the authority to allocate them. In this particular case, Dr. Hickernell and I agreed that SigOpt could provide some amount of funding for this project, to support an undergraduate student during the development process.”

Hickernell identified Aleksei Sorokin (AMAT/M.A.S. DS 5th year) as the undergraduate student to join the research group.

“Projects like QMCPy are important as they have helped me develop the ability to research, communicate, and connect with collaborators,” Sorokin says. “These skills have been important not only in programming QMCPy but also in making our work accessible, extensible, and exciting to others in the community.”

Sorokin says he has learned a lot from working alongside an alumnus who has a wealth of professional experience.

“I really enjoy talking with Mike as he provides a unique perspective with his combined research and industry experience,” Sorokin says.

McCourt has high praise for Sorokin’s work on the project, although he was hesitant to bring an undergraduate into the team as QMC and Python are not typically taught at the undergraduate level. However, McCourt says he trusted his former professor, who assured him Sorokin was the right student for the project.

McCourt says if he didn’t have a close relationship with Hickernell, he wouldn’t think of having SigOpt sponsor the project.

“This was a really exciting opportunity to support people I trusted and produce software that would be good for the entire community,” he says.

By combining the talents and resources of both former and current students, Hickernell says he believes the team has developed a new software library that researchers and industry professionals will find helpful.

“QMCPy is intended to be a proving ground for new QMC ideas as well as an easy entry point for those who wonder whether their applications might benefit from QMC,” Hickernell says. “We hope that those that are using simple Monte Carlo sampling will find that they can achieve their answers substantially faster using QMC.”