A Universal Data Science Framework in C++


Details
This month we have to great pleasure to welcome Wolf Vollprecht. Wolf has studied Robotics, Systems and Controls at ETH Zurich. Disappointed with existing open source N-dimensional array computing libraries in C++ (very useful for robotics!) and as part of a quest to master template meta programming, he started contributing to xtensor in 2017. After finishing his studies he became part of the core development team at QuantStack. He now works and lives in Paris.
Abstract: The backbone of Data Science are array computing and visualization libraries. While many of these libraries, for example scikit-learn or NumPy, are utilizing fast C-code, their implementation remains bound to their dynamically interpreted host language.
This talk will present xtensor, an attempt to create a universal nD-container and array-computing library in C++. xtensor is a lightweight and modular framework that follows the idioms of the STL while providing an API that draws heavy inspiration from the widely used NumPy package. The library allows to operate in-place on data structures from Python, R and Julia. It is therefore an ideal library to write interpreter independent data science packages.
To showcase the internals of xtensor the talk will walk through a minimal reimplementation of a template expression engine in 300 lines of C++17 that supports broadcasting and lazy evaluation.
Crucial for data science is furthermore the fast and intuitive representation of data samples. The talk will highlight how the interactive C++ interpreter cling, in combination with Project Jupyter and xeus offers a native C++ solution for powerful widgets ranging from simple sliders and boxes to fully interactive maps and 3D plots.
Schedule:
18:30 - Welcome at Austin Fraser (Drinks and Catering)
19:30 - Introduction by Austin Fraser
19:35 - Lightning Talk
19:50 - "A Universal Data Science Framework in C++" (Wolf Vollprecht)
21:00 - Open Discussions
22:00 - Official End

A Universal Data Science Framework in C++