Graphs are powerful and ubiquitous data structures used to model relationships between objects. Examples include social networks, protein-interaction networks, and transportation networks. Analyzing graph data requires moving beyond traditional methods designed for Euclidean data. This motivates graph signal processing techniques that generalize concepts from classical signal processing to graph domains.