Geometric and Topological Graph Analysis for Machine Learning Applications