David K Hammond
email: david.hammond@oit.edu

Pierre Vandergheynst
email: pierre.vandergheynst@epfl.ch

Rémi Gribonval
email: remi.gribonval@inria.fr

The Spectral Graph Wavelet Transform : Fundamental theory and fast computation

The spectral graph wavelet transform (SGWT) defines wavelet transforms appropriate for data defined on the vertices of a weighted graph. Weighted graphs provide an extremely flexible way to model the data domain for a large number of important applications (such as data defined on vertices of social networks, transportation networks, brain connectivity networks, point clouds, or irregularly sampled grids). The SGWT is based on the spectral decomposition of the N × N graph Laplacian matrix L , where N is the number of vertices of the weighted graph. Its construction is specified by designing a real-valued function g which acts as a bandpass filter on the spectrum of L , and is analogous to the Fourier transform of the "mother wavelet" for the continous wavelet transform. The wavelet operators at scale s are then specified by T s g = g(sL ), and provide a mapping from the input data f ∈ R N to the wavelet coefficients at scale s. The individual wavelets ψ s,n centered at vertex n, for scale s, are recovered by localizing these operators by applying them to a delta impulse, i.e. ψ s,n = T s g δ n . The wavelet scales may be discretized to give a graph wavelet transform producing a finite number of coefficients. In this work we also describe a fast algorithm, based on Chebyshev polynomial approximation, which allows computation of the SGWT without needing to compute the full set of eigenvalues and eigenvectors of L .

Introduction

Nearly all interesting scientific and engineering problems involve analyzing data. In many cases, data can be described as a real valued function defined on some domain. For example, data sets such as audio recordings, digital photographs, and digital videos may be represented as real valued functions defined on a one, two, or three dimensional Euclidean domains, respectively. Similarly, discrete time-series data may be modeled as a real valued function whose domain is a subset of the integers. As these examples illustrate, many common types of data are defined on domains which are regularly sampled subsets of some Euclidean space. A huge body of signal processing and analysis algorithms have been developed for signals that are defined on such regularly sampled Euclidean domains.

However, a large number of interesting data sets are defined on irregular domains that do not correspond to regularly sampled Euclidean domains. Examples of this included data defined on networks, or on point clouds, or at irregularly sampled points of Euclidean domains. Many topologically complex data domains can be profitably modeled as weighted graphs : i.e. sets of vertices that are connected by edges that each have a non-negative weight, or connection "strength" defined. For some applications, the underlying graph structure for the data domain may be clear. This would be the case for example for analyzing data (such as income, preference for something, or any other scalar value) defined for individuals on a social network, where the underlying graph structure models the relationship strength between individuals. For data defined on point clouds or for irregularly sampled data, generating the underlying graph structure may be calculated in a number of ways based on the proximity of the data points, such as for example using the k-nearest neighbors.

Many signal processing and analysis methods employ some type of transform of the original data, where processing or analysis is performed on the coefficients of the transformed data rather than on the signal in its original domain. A large class of such transforms are linear, where the coefficients of the transform are given by taking inner products of the original signal with some set of transform vectors. For signals defined on regular Euclidean domains, commonly used examples include the Fourier transform, the discrete cosine transform, windowed Fourier transforms, and a large number of different Wavelet transforms. Signal transforms are useful as certain analysis or processing problems may be easier to express, or more powerful, when done in the coefficient domain than in the original signal domain. As a trivial example, the problem of estimating the power spectrum of a discrete time signal averaged over a specified frequency range takes some time to write down in the time domain, but is very easy to express (as an average of the magnitudes of a subset of Fourier coefficients) given the Fourier transform of the signal.

Wavelet transforms in particular have proven to be very effective for a wide variety of signal processing and analysis problems. Wavelet transforms have the property that the transform vectors (in this case called wavelets) are well localized in both space and frequency domains, and are self similar -i.e. related to each other by translation and dilation. Wavelets may be designed so that they provide a sparse representation of signals that consist of relatively smooth regions separated by lo-calized singularities, such as edges for 2d images, or localized jump discontinuities for 1d signals. Much of the power of many wavelet-based signal processing algorithms arises from exploiting this signal sparsity. Since their initial introduction in the 1980's [START_REF] Grossmann | Decomposition of Hardy functions into square integrable wavelets of constant shape[END_REF][START_REF] Daubechies | Orthonormal bases of compactly supported wavelets[END_REF][START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF][START_REF] Meyer | Orthonormal Wavelets[END_REF][START_REF] Beylkin | Fast wavelet transforms and numerical algorithms i[END_REF], Wavelet transforms have been very successfully employed for a wide range of signal and image processing applications, including denoising, [START_REF] Donoho | Ideal spatial adaptation by wavelet shrinkage[END_REF][START_REF] Chang | Adaptive wavelet thresholding for image denoising and compression[END_REF][START_REF] Sendur | Bivariate shrinkage functions for wavelet-based denoising exploiting interscale dependency[END_REF][START_REF] Portilla | Image denoising using scale mixtures of Gaussians in the wavelet domain[END_REF][START_REF] Daubechies | Variational image restoration by means of wavelets: Simultaneous decomposition, deblurring, and denoising[END_REF][START_REF] Luisier | Fast interscale wavelet denoising of poissoncorrupted images[END_REF], compression [START_REF] Shapiro | Embedded image coding using zerotrees of wavelet coefficients[END_REF][START_REF] Said | A new, fast, and efficient image codec based on set partitioning in hierarchical trees[END_REF][START_REF] Hilton | Wavelet and wavelet packet compression of electrocardiograms[END_REF][START_REF] Buccigrossi | Image compression via joint statistical characterization in the wavelet domain[END_REF][START_REF] Taubman | JPEG2000 : Image compression fundamentals, standards and practice[END_REF] , and inverse problems such as deconvolution [START_REF] Starck | Filtering and deconvolution by the wavelet transform[END_REF][START_REF] Donoho | Nonlinear solution of linear inverse problems by wavelet-vaguelette decomposition[END_REF][START_REF] Miller | A multiscale approach to sensor fusion and the solution of linear inverse problems[END_REF][START_REF] Nowak | A statistical multiscale framework for Poisson inverse problems[END_REF][START_REF] Bioucas-Dias | Bayesian wavelet-based image deconvolution: a GEM algorithm exploiting a class of heavy-tailed priors[END_REF][START_REF] Wishart | Wavelet deconvolution in a periodic setting with long-range dependent errors[END_REF]. We have included only a sampling of the enormous body of literature in the references given above.

The demonstrated effectiveness of Wavelet transforms, combined with the growing desire to process data defined on non-Euclidean domains, motivates the adaptation of the Wavelet transform to data defined on weighted graphs. The work described in this chapter details one such approach for constructing multiscale Wavelet transforms for data defined on the vertices of weighted graphs. Our approach assumes that all relevant information about the weighted graph is encoded in the symmetric Adjacency matrix A, i.e. no other information about the meaning of the vertices or relationships between them apart from what is stored in the Adjacency matrix is used. Accordingly, for any specific application problem the design of the underlying edge weights for the graph forms a crucial part of determining the overall wavelet transformation. The design choices for constructing the graph weights exactly correspond to modeling the underlying data domain, and thus optimal choices may be highly application dependent. In this chapter we illustrate relatively simple examples of computing a appropriate weighted graph for data defined on point clouds, and on irregularly sampled grids.

In general, one may expect modeling the data domain by a weighted graph to be useful whenever the relationships one may describe between vertices with a weighted graph interact with the underlying process which generated the data. For example, if one were analyzing rates of some disease among different cities, it may be reasonable to assume that infection could be propagated by individuals travelling from one city to another. In this case, using a weighted graph representing a transportation network between the different cities may be helpful. Similarly, if one were analyzing data indicating individuals opinions (favorable or unfavorable) of some particular political candidate, it is reasonable to assume that individuals opinions are affected by discussions with their friends. Accordingly, knowledge of a weighted graph representing acquaintance or friendship relationships between individuals may be useful for analyzing such data.

Classical wavelet analysis is based on the idea of taking a single "mother wavelet" function, and generating an entire set of Wavelet atoms by translating and dilating the mother wavelet. Wavelet coefficients for a given signal are then produced by taking the inner products of the signal with these wavelet atoms at different scales and spatial locations. The success of this classical construction is based on the ability to perform arbitrary dilation and translation operations. On an arbitrary weighted graph, however, it is not possible to define dilation and translation as may be done on Euclidean spaces such as the real line.

The construction described in this chapter resolves this by using the spectral decomposition (i.e. eigenvectors and eigenvalues) of the graph Laplacian matrix L . Spectral graph theory [START_REF] Chung | Spectral Graph Theory[END_REF] enables the definition of a Fourier transform for data defined on the vertices of weighted graphs, where the graph Fourier coefficients are given by the inner product of the signal with the eigenvectors of the graph Laplacian. The Spectral Graph Wavelet Transform (SGWT) described here is obtained by considering the mapping from data to coefficients for the classical continuous wavelet transform in the Fourier domain, and constructing the analogous operations using the graph Fourier transform. The SGWT design requires specifying a real-valued kernel function g. This kernel function is used to define the wavelet operators at scale s (i.e. the mappings from the signal to the wavelet coefficients at scale s) as T s g = g(sL ). The wavelet coefficients at scale s for an input signal f (t) are then given by T s g f . The individual graph wavelets themselves are obtained by localizing these wavelet operators by applying them to a delta impulse at a single vertex. We employ the notation ψ s,m to denote the wavelet at scale s centered at vertex m, the previous notion implies that ψ s,m = T s g δ m where δ m is a signal with zero values at every vertex except m, and unit value at vertex m. The SGWT coefficients are also the inner products of the original data with these wavelets ψ s,m .

This chapter describes the basic theory of the SGWT, and gives implementation details and example images illustrating the Wavelets and properties of the overall transform. We show that the SGWT (without discretizing the scale parameter) is analogous to the classical continuous wavelet transform and, subject to an admissibility condition on the kernel function g, may be formally inverted using a similar integral formula. A discrete transform may be obtained by sampling the scale parameter at a discrete set of values, giving a finite number of coefficients organized in distinct wavelet subbands. In this case the SGWT is an overcomplete transform, and we describe how to calculate the corresponding frame bounds.

As the SGWT is defined using a the graph Fourier transform, straightforward computation of the transform requires computing the full set of eigenvectors and eigenvalues of the graph Laplacian L . This limitation would render computing the SGWT infeasible for graphs larger than several thousand vertices, which would severely limit its applicability. In this chapter we describe a method for computing the SGWT based on Chebyshev polynomial approximation of the rescaled kernels g(sλ ), which does not require explicitly computing the full set of eigenvectors of the graph Laplacian matrix. In particular, this polynomial approximation approach uses L only through matrix-vector multiplication, and is thus especially computationally efficient for sparse graphs, where only a small number of elements of L are nonzero. The discrete SGWT may be inverted using the pseudoinverse. We show that this may be done by conjugate-gradients, in a way that is compatible with the Chebyshev polynomial approximation scheme for applying the forward transform.

Related Work

Other attempts at defining wavelet transforms on graphs have been developed that do not employ spectral graph theory. One approach used by Crovella and Kolaczyk [START_REF] Crovella | Graph wavelets for spatial traffic analysis[END_REF] for analyzing computer network traffic was based on the n-hop distance, where wavelets were defined such that the value of the wavelet at vertex m that was centered at vertex n depended on the n-hop distance from vertex m to n. These functions were chosen so that the wavelets were zero mean. These wavelets were constructed for binary graphs (i.e. making no use of edge weights), additionally no study of the invertibility of the resulting transform was made. These wavelets were used by Smalter et. al [START_REF] Smalter | Graph wavelet alignment kernels for drug virtual screening[END_REF] as features helping to distinguish chemical structures, as part of a machine learning approach for virtual drug screening.

In [START_REF] Jansen | Multiscale methods for data on graphs and irregular multidimensional situations[END_REF], Jansen et. al. developed a lifting-based approach for multiscale representation of data defined on graphs. This lifting procedure is based on using the weighted average of each vertices neighbors for the lifting prediction step, where the weightings are based on a set of distances assigned to each edge (playing the part of reciprocals of edge weights), in their paper these edge distances were derived from original Euclidean distances for graphs that arise from irregular sampling of Euclidean space. In contrast with the methods described in this chapter, this lifting scheme is defined directly in the vertex domain, and does not employ spectral graph theory.

Several works have considered wavelet transforms for data defined on trees (i.e. graphs with no loops). These include [START_REF] Murtagh | The Haar wavelet transform of a dendrogram[END_REF], which developed an adaptation of the Haar wavelet transform appropriate for data defined on rooted binary trees. The treelet transform [START_REF] Lee | Treelets -an adaptive multi-scale basis for sparse unordered data[END_REF] extended this, including automatic construction of trees for multivariate data.

The "Diffusion Wavelets" of Maggioni and Coifman [START_REF] Coifman | Diffusion wavelets[END_REF] constructs a wavelet transform based on compressed representations of dyadic powers of a diffusion operator T , which may be flexibly specified. The diffusion wavelets construction involves repeated application of the diffusion operator T , somewhat analogously to how our construction is parametrized by the choice of the graph Laplacian operator L . A key difference between the Diffusion Wavelets and the Spectral Graph Wavelets described here is that the Diffusion Wavelets are designed to be orthonormal. The Diffusion Wavelets approach is based on first identifying the approximation spaces produced by differences of dyadic powers of the operator T ; wavelets are produced by locally orthogonalizing these approximation spaces. Our approach is conceptually simpler, and yields an overcomplete representation rather than an orthogonal transform.

The "Diffusion polynomial frames" developed by Maggioni and Mhaskar [START_REF] Maggioni | Diffusion polynomial frames on metric measure spaces[END_REF] builds multiscale transforms in a more general quasi-metric measure space setting using polynomials of a differential operator, in a manner that is closely related to our Chebyshev polynomial approximation for computing the SGWT. Geller and Mayeli [START_REF] Geller | Continuous wavelets on compact manifolds[END_REF] construct wavelets on differentiable manifolds employing scaling defined by an operator of the form tLe -tL , where L is the manifold Laplace-Beltrami operator. Wavelets are obtained by localizing this operator by applying it to a delta impulse, similar to our theory. However, their work is not directly comparable to ours as it is constructed for functions defined on smooth manifolds.

The work described in this chapter was originally published in [START_REF] Hammond | Wavelets on graphs via spectral graph theory[END_REF]. For completeness, we note that since its original publication the SGWT and the related poly-nomial approximation scheme has been used by a number of authors. We provide here references to a sampling of these applications, include learning dictionaries for signal representation on graphs [START_REF] Thanou | Learning parametric dictionaries for signals on graphs[END_REF], analysis of cortical thickness measurements [START_REF] Kim | Wavelet based multi-scale shape features on arbitrary surfaces for cortical thickness discrimination[END_REF], shape analysis and surface alignment [START_REF] Kim | Multi-resolution shape analysis via non-euclidean wavelets: Applications to mesh segmentation and surface alignment problems[END_REF], multiscale community detection [START_REF] Tremblay | Multiscale community mining in networks using spectral graph wavelets[END_REF], 3d mesh compression [START_REF] Zhong | Sparse approximation of 3d shapes via spectral graph wavelets[END_REF] 2 Classical Continuous Wavelet Transform

As the design of the SGWT is based on examining the the classical Continuous wavelet transform (CWT) in the Fourier domain, we first give an overview of the CWT appropriate for representing L 2 (R), i.e. the space of square-integrable signals on the real line.

The CWT is generated by choosing a single "mother" wavelet ψ(t), and then forming a continuous family of wavelets by translating and dilating the mother wavelet. Specifically, for translation by a and dilation by factor s > 0, we have the wavelet

ψ s,a (t) = 1 s ψ t -a s (1)
The factor 1 s in front was chosen so that the wavelets all have the same

L 1 norm, i.e. ∞ -∞ |ψ s,a (t)|dt = ∞ -∞ |ψ(t)|dt.
The wavelet coefficients are given by the inner products of these wavelets with the signal f (t), as

W f (s, a) = ∞ -∞ 1 s ψ * t -a s f (t)dt (2)
This expression defines the mapping from the original signal f (t) to the set of wavelet coefficients W f (s, a). An interesting feature of the CWT is that a single variable function f (t) is represented by the coefficients W f (s, a) which depend on two parameters s and a. We say the transform may be inverted if it is possible to recover the function f (t) from knowledge of the coefficients W f (s, a). It has been shown [START_REF] Grossmann | Decomposition of Hardy functions into square integrable wavelets of constant shape[END_REF] that this is possible if the mother wavelet ψ(t) satisfies the admissibility condition

∞ 0 | ψ(ω)| 2 ω dω = C ψ < ∞ (3)
One consequence of the admissibility condition is that for continuously differentiable ψ(t), it must hold that ψ(0) = ψ(t)dt = 0, so ψ(t) must have zero mean. If ψ(t) is admissible, the CWT may be formally inverted as

f (t) = 1 C ψ ∞ 0 ∞ -∞ W f (s, a)ψ s,a (t) dads s . (4)
Directly forming the analogue of equation 1 on weighted graphs is problematic, as it is unclear how to implement arbitrary dilation or translation on an ar-bitrary weighted graph. We will show next that for the CWT, scaling can be defined in the Fourier domain, which does provide an expression we can extend to weighted Graphs. We first consider the CWT for discretized set of scale values, where the translation parameter is left continuous. For each value s, we let T s represent the mapping from signal f (t) to wavelet coefficients W f (s, a), so that (T s f )(a) = W f (s, a) where a is considered as the independent variable.

For convenience in the following, define the scaled, time-reversed wavelet ψ s via

ψ s (t) = 1 s ψ * -t s . (5)
One may see then that the operator T s acts on any signal by convolution with ψ s . Specifically, we have

(T s f )(a) = ∞ -∞ 1 s ψ * t -a s f (t)dt (6) = ∞ -∞ ψ s (a -t) f (t)dt = (ψ s f )(a)
By taking the Fourier transform and applying the convolution theorem we see that

T s f (ω) = ψ s (ω) f (ω) (7)
Using the properties of the Fourier transform and Equation ( 5) shows that

ψ s (ω) = ψ * (sω) (8)
Inserting Equation 8 into Equation 7 and inverting the Fourier transform gives

(T s f )(t) = 1 2π ∞ -∞ e iωt ψ * (sω) f (ω)dω (9)
Critically, s appears above only in the argument of ψ * , which is defined in the Fourier domain rather than the original signal domain. We see that the operator T s mapping f (t) to the set of wavelet coefficients at scale s acts on f (t) by multiplying its Fourier transform by a bandpass filter function ψ * (sω) which is scaled (in the Fourier domain) by s. Equation (9) will form the basis for us to later define the SGWT, where we will replace the Fourier transform by the graph Fourier transform.

We may express the individual wavelets by applying the operator T s to a translated delta impulse function δ a (t) = δ (ta). From Equation ( 6) it follows that

(T s δ a )(t) = 1 s ψ * t -a s , (10)
which for even and real-valued ψ(t) simplifies to (T s δ a )(t) = ψ a,s (t).

Spectral Graph Theory

In this section we introduce the tools from Spectral Graph theory needed to define the graph Fourier transform. This will provide the ability to define scaling of an operator, in the spectral domain, which is at the core of the SGWT construction. We first fix our notation for weighted graphs.

Notation for Weighted graphs

A weighted graph G consists of a finite vertex set V , a set of edges E (which is a subset of the set of all unordered pairs of vertices), and a non-negative valued weight function w : E → R which gives a weight associated with each edge. We let N = |V | denote the number of vertices. A finite weighted graph may also be unambiguously described by an N × N weighted adjacency matrix A, where A i, j equals zero if the the edge (i, j) / ∈ E, and A i, j = w((i, j)) if the edge (i, j) ∈ E. We consider only symmetric (i.e. undirected) graphs.

The degree of each vertex is the sum of all the edge weights of edges incident to that vertex. In terms of the adjacency matrix, may write d(m) = ∑ n A m,n for the degree of vertex m. The diagonal degree matrix D is defined by

D i, j = d(i) if i = j 0 if i = j (11)
Once a specific numbering of the vertices has been fixed, any function f : V → R defined on the vertices can be naturally associated with a vector in f ∈ R N , where f i is simply the value of the function on vertex i. We will also denote f (i) for the value on vertex i.

In this work we use the non-normalized graph Laplacian operator L , defined by

L = D -A. For any f ∈ R N , it is straightforward to show that (L f )(m) = ∑ m∼n A m,n • ( f (m) -f (n)) (12)
where by m ∼ n we mean that the sum is taken over all vertices n which are connected to vertex m. This expression shows that the graph Laplacian operator applied to any function gives a weighted difference of the function values, summed over all edges incident to a given vertex. Another form of the graph Laplacian that is commonly used elsewhere in the literature is the normalized form, given by

L norm = D -1/2 L D -1/2 = I -D -1/2 AD -1/2 (13)
The eigenvalues of this L norm all lie in the interval [0, 2]. We note that the normalized and non-normalized Laplacian matrices are not similar matrices, and their eigenvectors are different. The entire SGWT machinery could be defined using either form of the graph Laplacian, which would produce two different transforms.

We will use the non-normalized form exclusively in the remainder of this work.

For the non-normalized Laplacian L constructed for a graph that corresponds to a regularly sampled grid, we note that L is proportional (with a difference in sign) to a standard finite difference approximation of the continuous Laplacian operator. For example, consider a regular two-dimensional grid with unit weights on the edges, where v m,n represents the vertex at index position (m, n) on the grid. Using these two-dimensional indices, one sees that for a function f = f m,n defined on the vertices, applying L yields (for (m, n) away from the boundary of the grid)

(L f ) m,n = 4 f m,n -f m+1,n -f m-1,n -f m,n+1 -f m,n-1 . (14)
Aside from a missing factor of h 2 , where h is the mesh spacing, this is the standard 5-point stencil for computing -∇ 2 f .

Graph Fourier Transform

The standard Fourier transform on the real line is

f (ω) = e -itω f (t)dt, (15)
with inverse transform

f (t) = 1 2π f (ω)e iωt dω. (16)
The complex exponentials e iωt are eigenfunctions of the one-dimensional Laplacian d dx 2 . We may view the forward transform as computing the Fourier coefficient f (ω) as the inner product of the signal f (t) with a Laplacian eigenfunction. Similarly, the inverse transform may be viewed as expanding the signal f (t) as a weighted sum of Laplacian eigenfunctions. The graph Fourier transform is obtained by analogy from the previous statements, by replacing the continous Laplacian d dx 2 by the graph Laplacian L . The matrix L is symmetric, and so has a set of orthonormal eigenvectors which span R N . We write these as χ for 0 ≤ ≤ N -1. The corresponding eigenvalues λ satisfy L χ = λ χ . The symmetry of L implies that these eigenvalues are real, so we may organize them in ascending order. In addition, for the graph Laplacian L , it holds that the eigenvalues are all non-negative, the smallest eigenvalue is 0, and the multiplicity of the 0 eigenvalue is equal to the number of connected components of the weighted graph G [START_REF] Chung | Spectral Graph Theory[END_REF]. Assuming that G is connected, the eigenvalues λ satisfy

0 = λ 0 < λ 1 ≤ λ 2 ... ≤ λ N-1 (17)
We now define the graph Fourier transform. For any signal f ∈ R N , the graph Fourier transform f is given by

f ( ) = χ , f = N ∑ n=1 χ * (n) f (n). (18)
The inverse graph Fourier transform expresses the original signal f as an expansion using the graph Fourier coefficients f as

f (n) = N-1 ∑ =0 f ( )χ (n) (19)
The validity of the inverse Fourier transform is a straightforward consequence of the orthonormality of the eigenvectors χ . It can similarly be shown that the graph Fourier coefficients satisfy the Parseval relation, i.e. for any two signals

f , g ∈ R N one has f , g = f , g . (20)

Spectral Graph Wavelets

Equipped with the graph Fourier transform, we are now prepared to describe the Spectral Graph Wavelet Transform. As alluded to earlier, specification of the SGWT requires fixing a non-negative real-valued kernel function g, which behaves as a band-pass filter and is analogous to the Fourier transform of the mother wavelet ψ * from Equation ( 9). We will require that g(0) = 0 and that lim λ →∞ g(λ ) = 0. Specific choices for the kernel g will be discussed later.

Wavelets

The wavelet operators producing the SGWT coefficients at each scale are obtained as rescaled kernel functions of the graph Laplacian operator. One may define a function of a self-adjoint operator by using the continuous functional calculus [START_REF] Reed | Methods of Modern Mathematical Physics Volume 1 : Functional Analysis[END_REF] based on the Spectral representation of the operator. For the finite dimensional graph Laplacian, this is afforded by the eigenvectors and eigenvalues of the Laplacian matrix L . Specifically, we set the wavelet operator by T g = g(L ). T g is a mapping from R N to R N , and T g f gives the wavelet coefficients for the signal f at unit scale (s = 1). This operator is defined by its action on the eigenvectors χ , specifically as

T g χ = g(λ )χ (21)
This implies that for any graph signal f , the operator T g acts on f by modulating each of its graph Fourier coefficients, according to

T g f ( ) = g(λ ) f ( ) (22)
Applying the inverse Fourier transform then shows

(T g f )(m) = N-1 ∑ =0 g(λ ) f ( )χ (m) (23)
This relation should be compared with Equation ( 9) describing the mapping from signal to Wavelet coefficients for the Continuous Wavelet Transform.

We next define T s g , the Wavelet operator at scale s, as T s g = g(sL ). The crucial point enabling this definition of scaling is that while the original spatial domain (set of vertices) is discrete, the domain of the kernel function g(λ ) is continuous, which enables proper definition of T s g , for any s > 0. The individual wavelets are obtained by localizing these operators by applying them to δ n , where δ n ∈ R N is the signal with a 1 on vertex n and zeros elsewhere. This reads as

ψ s,n = T s g δ n , (24)
so that ψ s,n is the Spectral Graph Wavelet at scale s, centered on vertex n. We now observe that

δ n ( ) = N ∑ m=1 χ * (m)δ n (m) = χ * (n). (25)
Using this with Equation ( 23) then implies that

ψ s,n (m) = N-1 ∑ =0 g(sλ )χ * (n)χ (m) (26)
The wavelet coefficients W f (s, n) may then be considered as the inner products of f with the wavelet ψ s,n , i.e. via

W f (s, n) = ψ s,n , f . (27)
Equivalently, we have W f (s, n) as the value of (T s g f ) n . Using Equation [START_REF] Chung | Spectral Graph Theory[END_REF] this may be expanded as

W f (s, n) = T s g f (n) = N-1 ∑ =0 g(sλ ) f ( )χ (n) (28)

Scaling Functions

As the wavelet kernel g satisfies g(0) = 0, the wavelets ψ s,n are all orthogonal to the eigenvector χ 0 , and are close to orthogonal to χ for eigenvectors where λ is close to zero. In order to stably represent the lower frequency content of signals, it is helpful to introduce a set of spectral graph scaling functions. These are defined in analogy with scaling functions for the classical wavelet transform, which are needed to represent low frequency content of signals when the scale parameter is not allowed to become arbitrarily large. We define the spectral graph scaling functions similarly to the wavelets, using a non-negative valued scaling function kernel h(λ ) which may be viewed as a low-pass filter. The scaling function kernel h satisfies h(0) > 0 and lim λ →∞ h(λ ) = 0, from which the scaling function operator T h = h(L ) is defined. The scaling functions centered at vertex n are given by φ n = T h δ n , and the scaling function coefficients are given by S f (n) = φ n , f . In figure 1 we show the graphs of representative scaled wavelet kernels and the scaling function kernel, for a chosen set of discrete scale values s j . Details of the choices for h and g are deferred until later. We will show later in Section 5.2 that stable recovery of f from its wavelet and scaling function coefficients is possible if the function G(λ ) = h(λ ) 2 + ∑ j g(s j λ ) 2 is nonzero for all λ in the spectrum of L . Clearly, as each of the scaled wavelet kernels g(s j λ ) approach zero as λ → 0, this condition can only hold if the scaling function h(λ ) satisfies h(0) > 0.

The scaling functions defined here are used to represent low frequency content of the signal f . We note that the kernels h and g used here do not satisfy the two-scale relation as in classical orthogonal wavelet design [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF]. We thus have much freedom in choosing the form of h, provided that the resulting G does not become close to zero over the spectrum of L .

Properties of the SGWT

We next describe several properties of the spectral graph wavelet transform, including the inverse of the continuous transform, the localization properties in the small-scale limit, and the frame bounds for the scale-discretized transform.

Inverse for Continuous SGWT

For any type of signal transform to be useful for signal processing (rather than only signal analysis), one must be able to invert the transform, i.e. to reconstruct a signal corresponding to a given set of transform coefficients. The continuous SGWT (i.e. where the scale parameter is not discretized) admits an inverse formula that has a very similar form to the inverse expression for the continuous wavelet transform in Equation ( 4).

Each wavelet coefficient W f (s, n) may be viewed as measuring the "amount" of the wavelet ψ s,n present in the original signal f . The continuous SGWT inverse uses these measurements to reconstruct the original signal, with a weighting ds/s. As mentioned previously, however, as all of the wavelets are orthogonal to the eigenvector χ 0 , the subspace spanned by χ 0 must be handled separately.

Lemma 1. Let f ∈ R N be a signal, and let f # be the projection of f onto the orthogonal complement of the span of χ 0 , i.e. f # = fχ 0 , f χ 0 . Let g be a kernel function satisfying g(0) = 0, and the admissibility condition

∞ 0 g 2 (x) x dx = C g < ∞. ( 29
)
Then the continuous reconstruction formula holds :

1 C g N ∑ n=1 ∞ 0 W f (s, n)ψ s,n (m) ds s = f # (m) (30)
The complete reconstruction of f is then given by f = f # + f (0)χ 0 .

Proof. We first expand the left side of the above, using Equations ( 26) and ( 28) to write ψ t,n and W f (t, n) in terms of the Laplacian eigenvectors χ . This gives

1 C g ∞ 0 1 s ∑ n ∑ g(sλ )χ (n) f ( ) ∑ g(sλ )χ * (n)χ (m) ds (31) = 1 C g ∞ 0 1 s ∑ , g(sλ )g(sλ ) f ( )χ (m) ∑ n χ * (n)χ (n) ds (32)
We have that ∑ n χ * (n)χ (n) = δ , , applying this and summing over gives

= 1 C g ∑ ∞ 0 g 2 (sλ ) s ds f ( )χ (m) (33)
Using the substitution u = sλ , provided that λ = 0, reduces the integral appearing above to g 2 (u) u du, which is finite and equals C g by the admissibility condition for g. If λ = 0, which holds only for = 0, then the integral is 0 as g(0) = 0. This implies that Equation ( 33) is precisely the inverse Fourier transform evaluated at vertex m, with the = 0 omitted from the sum. As the omitted = 0 term is precisely f (0)χ 0 = χ 0 , f χ 0 , the lemma is proved.

This expression for the inverse of the continuous transform is of theoretical interest, however any practical implementation of the SGWT must use a finite number of wavelet scales. We shall discuss reconstruction from the scale discretized SGWT later in this chapter.

Frame bounds for SGWT

As alluded to previously, practical computation of the SGWT must involve discretizing the scale parameter s to a finite set of values. Fixing our notation, we let J be the number of scales chosen and let {s 1 , s 2 , . . . , s J } denote the specific scale values. The SGWT at each scale produces a set (often termed a "subband") of N coefficients W s j ,n for 1 ≤ n ≤ N. Together with the N scaling function coefficients, the full transform with J scales may be considered as a mapping from R N to R N(J+1) , producing N(J + 1) coefficients.

Some insight into how stable the coefficients for the entire set of NJ wavelets and N scaling functions are for representing signals may be gained by considering the frame formed by the entire set of wavelets and scaling functions. Briefly, for a Hilbert space H , a set of vectors Γ n ∈ H is said to be a frame with frame bounds A and B if for all f ∈ H it is true that

A || f || 2 ≤ ∑ n |c n | 2 ≤ B || f || 2 . ( 34
)
where the coefficients c n are given by c n = Γ n , f . These constants A and B describe the numerical stability of recovering the original signal f from the coefficients c n .

In particular, if A = B, then the set {Γ n } is called a tight frame, and the signal may be recovered simply by

f = 1 A ∑ n c n Γ n (35)
In general A and B will not be equal, however the guiding principal that the frame is easier to invert if B/A is close to 1 still holds. In fact, as discussed in section 6.3, these frame bounds provide a precise estimate for the speed of convergence of the conjugate-gradients algorithm for inverting the discrete SGWT. For further details of the fundamentals of the theory of frames, see [START_REF] Daubechies | Ten Lectures on Wavelets[END_REF] or [START_REF] Heil | Continuous and discrete wavelet transforms[END_REF].

For the scale-discretized SGWT, the frame bounds are given by the following.

Theorem 1. Fix a choice of a set of scales {s 1 , ..., s J }. Set G(λ ) = h 2 (λ )+∑ j g(s j λ ) 2 , where h and g are the scaling function and wavelet kernels. Then the set Γ = {φ n } N n=1 ∪ {ψ s j ,n } J j=1 N n=1 is frame with frame bounds A, B given by

A = min λ ∈[0,λ N-1 ] G(λ ) (36)
B = max λ ∈[0,λ N-1 ]
G(λ ).

Proof. Expression [START_REF] Lee | Treelets -an adaptive multi-scale basis for sparse unordered data[END_REF], shows that, for a fixed signal f , we may write

∑ n |W f (s, n)| 2 = ∑ n ∑ g(sλ )χ (n) f ( ) ∑ g(sλ )χ (n) f ( ) * (37) = ∑ |g(sλ )| 2 | f ( )| 2 ,
where we have used the orthonormality of the χ n . For the scaling function coefficients we have, similarly,

∑ n |S f (n)| 2 = ∑ |h(λ )| 2 | f ( )| 2 (38)
Fix an ordering of the elements of Γ , so that Γ = ∪ N(J+1) k=1

γ k . Note that γ k , f may be either a scaling function coefficient or wavelet coefficient, depending on k. Equations [START_REF] Zhong | Sparse approximation of 3d shapes via spectral graph wavelets[END_REF] and [START_REF] Reed | Methods of Modern Mathematical Physics Volume 1 : Functional Analysis[END_REF] show that (39) Then by the definition of A and B, we have

N(J+1) ∑ k=1 | γ k , f | 2 = ∑ |h(λ )| 2 + J ∑ j=1 |g(s j λ )| 2 | f ( )| 2 = ∑ G(λ )| f ( )| 2
A N-1 ∑ =0 | f ( )| 2 ≤ N(J+1) ∑ k=1 | γ k , f | 2 ≤ B N-1 ∑ =0 | f ( )| 2 (40)
The Parseval relation

|| f || 2 = ∑ | f ( )| 2
then implies that A and B are frame bounds for the frame Γ .

Limit of small scales

Much of the effectiveness of classical wavelets for signal processing follows as the wavelets may be designed to be localized in both the spatial domain and the frequency domain. The spectral graph wavelets may be designed to be localized in the frequency domain, provided that g is chosen as a band-pass filter. However, we have not yet demonstrated localization of the spectral graph wavelets in the spatial (i.e. vertex) domain.

The spatial localization properties of classical wavelets derived from a single wavelet via dilation and translation are straightforward to infer from the mother wavelet ψ(t) itself. If ψ(t) is well localized on the interval [-d, d], then the derived wavelet ψ s,a (t) will be well localized on [ads, a + ds]. In the limit of small scales as s → 0, this implies that ψ s,a (t) → 0 for all t = a, as long as the original mother ψ(t) wavelet decays to zero as t → ∞.

As scaling for the spectral graph wavelets is defined in the graph Fourier domain, localization in the limit as s → 0 is not as straightforward to infer. We will demonstrate that normalized spectral graph wavelets ψ s,n ||ψs,n|| will approach zero for vertices far enough away from the central vertex n, as s → 0. Our result is based on the fact that powers of L are localized, and that T s g may be approximated as proportional to a power of L in the limit of small scales.

As noted previously, the operator T s g depends only on the values of g(sλ ) for λ in the spectrum of L , in particular the values of g(sλ ) for λ > λ N-1 have no effect on T s g . As the graph of g(sλ ) is obtained from the graph of g(λ ) by zooming in by a factor 1/s, the operator T s g is determined by the values of g(λ ) over the small interval [0, λ N-1 s]. Our approach will be to approximate g(λ ) in a neighborhood of 0 by its Taylor polynomial, which will let us transfer the study of localization of T s g to studying localization of the first nonzero power of L appearing in the Taylor series.

The Taylor polynomial for g at the origin will provide an approximation of g(sλ ) that we will use for small s. In order to study the resulting approximate wavelets, we first establish a bound on how perturbations of the kernel function g affect the resulting wavelets. If two kernel functions g and g are close to each other, then their resulting wavelets should also be close to each other. Lemma 2. Let g and g be two kernel functions, and ψ s,n = T s g δ n and ψs,n = T s g δ n be their corresponding wavelets at scale s. Suppose that there is a bound M(s) so that |g(sλ )g(sλ )| ≤ M(s) for all λ ∈ [0, λ N-1 ]. It then follows that for each value of s and for each vertex m, |ψ s,n (m) -ψs,n (m)| ≤ M(s), and that ||ψ s,n -ψs,n || 2 ≤ √ NM(s).

Proof. As by definition ψ s,n (m) = δ m , g(sL )δ n , we may write

|ψ s,n (m) -ψs,n (m)| = | δ m , (g(sL ) -g(sL )) δ n | (41)
Using the Parseval relation for the graph Fourier transform [START_REF] Nowak | A statistical multiscale framework for Poisson inverse problems[END_REF] shows this may be written as

|ψ s,n (m) -ψs,n (m)| = ∑ χ (m)(g(sλ ) -g(sλ ))χ * (n) ≤ M(s) ∑ |χ (m)χ (n) * | (42)
Using the Cauchy-Schwartz inequality shows the above sum over is bounded by 1, as

∑ |χ (m)χ * (n)| ≤ ∑ |χ (m)| 2 1/2 ∑ |χ * (n)| 2 1/2 , ( 43
)
and ∑ |χ (m)| 2 = 1 for all m, as the χ are a complete orthonormal basis. Applying this to (42) proves |ψ s,n (m) -ψs,n (m)| ≤ M(s). We may then write

||ψ s,n -ψs,n || 2 2 = ∑ m (ψ s,n (m) -ψs,n (m)) 2 ≤ ∑ m M(s) 2 = NM(s) 2 (44)
which proves the statement ||ψ s,n -ψs,n || 2 ≤ √ NM(s).

Our localization results will be stated using a notion of distance between vertices. We employ the shortest-path distance, which defines the distance between two vertices as the number of edges in the shortest path connecting them, i.e.

d G (m, n) = argmin s {k 1 , k 2 , ..., k s } (45)
s.t. m = k 1 , n = k s , and A k r ,k r+1 > 0 for 1 ≤ r < s. (46)
This distance measure treats the graph G as a binary graph, i.e. the particular values of the nonzero edge weights are not used.

For integer powers of L , we have the following localization result. Note that this holds for both the normalized and non-normalized forms of the Laplacian. Lemma 3. Let G be a weighted graph, and L the graph Laplacian of G. Fix an integer s > 0, and pick vertices m and n. Then (L s ) m,n = 0 whenever d G (m, n) > s.

Proof. By the construction of L , we have that L r,s = 0 for any vertices r = s that are not connected (i.e. where A r,s = 0). Writing out repeated matrix multiplication, we see

(L s ) m,n = N ∑ k 1 =1 N ∑ k 2 =1 . . . N ∑ k s-1 =1 L m,k 1 L k 1 ,k 2 ...L k s-1 ,n (47)
Suppose for sake of contradiction that (L s ) m,n = 0. This implies that at least one of the terms in the above sum is nonzero, which demonstrates the existence of a sequence of vertices k 1 , k 2 , ..., k s-1 with L m,k 1 = 0, L k 1 ,k 2 = 0, ... , L k s-1 = 0. However, this is precisely a path of length s from vertex m to vertex n, with possible repeats of vertices. Removing these possible repeated vertices gives a path of length k ≤ s from vertex m to n, which implies d G (m, n) ≤ s, which is a contradiction.

This result implies that any kernel function that can be approximated by an integer power of L will produce localized wavelets. Every valid kernel g satisfies g(0) = 0, if g is smooth in a neighborhood of 0 then we may approximate g(sλ ) using the first nonzero term of the Taylor series for g, which will allow us to use Lemma 3. We first clarify this truncated Taylor approximation for kernels g(x) that have a zero with integer multiplicity at x = 0. Lemma 4. Suppose g satisfies g(0) = 0, g (r) (0) = 0 for all r < K, and g (K) (0) = C = 0. Let there be some s > 0 so that g is K + 1 times continuously differentiable on [0, s λ N-1 ] and that |g (K+1) (λ )| ≤ B for all λ ∈ [0, s λ N-1 ]. Define the monomial approximation kernel g by g(x) = (C/K!)x K , and set

M(s) = sup λ ∈[0,λ N-1 ] |g(sλ ) -g(sλ )|. ( 48
)
Then for all s < s , the error M(s) is bounded by

M(s) ≤ s K+1 λ K+1 N-1 (K + 1)! B ( 49
)
Proof. Using the assumed information about the derivatives of g at x = 0, Taylor's formula with remainder shows that for any x < s λ N-1 ,

g(x) = C x K K! + g (K+1) (x * ) x K+1 (K + 1)! = g(x) + g (K+1) (x * ) x K+1 (K + 1)! (50)
for some x * ∈ [0, x]. By assumption we have g (K+1) (x * ) < B. Now fix s < s , and set x = sλ . We then have for all 0 ≤ λ ≤ λ N-1 that

|g(sλ ) -g(sλ )| ≤ B s K+1 λ K+1 (K + 1)! ≤ B s K+1 λ K+1 N-1 (K + 1)! , ( 51
)
which implies M(s) ≤ s K+1 λ K+1 N-1 (K+1)! B.
We are now equipped to state our localization result for the spectral graph wavelets in the limit of small scales. We note that simply due to the definition of the SGWT, if g(0) = 0 and g is continuous it follows that lim s→0 ψ s,n (m) = 0 for all m, n. This explains why the statement of our result includes normalization by ||ψ s,n ||. Theorem 2. Let g be a kernel function satisfying g (r) (0) = 0 for 0 ≤ r < K, and g (K) (0) = 0, and let s and B be such that |g

(K+1) (λ )| ≤ B for all 0 ≤ λ ≤ s λ N-1 .
Let m and n be vertices separated by distance greater than K, i.e. with d G (m, n) > K. Then there are constants D and s so that

ψ s,n (m) ||ψ s,n || ≤ Ds (52)
holds for all sufficiently small scales s < min(s , s ).

Proof. Define g(λ ) = g (K) (0) K! λ K and set ψs,n = T s g δ n . We expand ψs,n = g (K) (0)

K! s K L K δ n , so that ψs,n (m) = g (K) (0) K! s K δ m , L K δ n = g (K) (0) K! s K L K m,n = 0 (53)
as (L K ) m,n = 0 by Lemma 3. Combining Lemmas 2 and 4 shows

|ψ s,n (m) -ψs,n (m)| = |ψ s,n (m)| ≤ s K+1 E (54) with E = λ K+1 N-1 (
= s K g (K) (0) K! L K δ n . These show that s K g (K) (0) K! L K δ n -s √ N λ K+1 N-1 (K + 1)! B ≤ || ψs,n || -||ψ s,n -ψs,n || (56)
Equations ( 56) and (54) together yield

ψ s,n (m) ||ψ s,n || ≤ sE q -sp (57)
where we define q = g (K) (0)

K! L K δ n and p = √ N λ K+1 N-1 (K+1)! B.
Straightforward computation demonstrates that sE q-sp ≤ 2E q s whenever s ≤ q 2p . This implies the stated theorem once we define D =

2EK! g (K) (0)||L K δ n|| and s = g (K) (0)||L K δ n|| (K+1) 2 √ Nλ K+1 N-1 B
.

The localization result stated in Theorem 2 uses the shortest-path distance, and thus as stated is really only meaningful for graphs where the shortest-path distance (which treats all non-zero edges the same, even if the edge weights are close to zero) is a useful measure of distance. This will be the case if a significant number of edge weights are exactly zero. We note that many large graphs arising in practice are sparse (i.e. the number of nonzero edges is small relative to the total number of possible edges), for such sparse weighted graphs the shortest-path distance does provide a meaningful notion of distance.

Polynomial Approximation

The SGWT is defined using the eigenvectors χ and eigenvalues λ of the N × N matrix L . Directly computing the transform according to Equation 28 requires diagonalizing L , i.e. computing the full set of eigenvectors and eigenvalues. This is computationally intensive, requiring O(N 3 ) operations for the commonly used QR algorithm [START_REF] Watkins | The Matrix Eigenvalue Problem -GR and Krylov subspace methods[END_REF]. This computational complexity renders the direct computation of the entire set of eigenvectors impractical for graphs with more than a several thousand vertices. However, signal processing problems routinely involve data with hundreds of thousands or millions of dimensions. The SGWT cannot be a practical tool for such larger problems if its computation relies on fully diagonalizing L .

In this section we describe a fast algorithm for the SGWT that avoids the need to diagonalize the graph Laplacian. This is a achieved by directly approximating the scaled wavelet kernels g(s j λ ) by polynomials. A polynomial function of L may be applied to a signal f in a manner which uses only matrix-vector multiplication. In general, multiplying a vector by L requires a number of operations equal to the number of nonzero edges in the graph. For sparse graphs, where the number of nonzero edges is small, this yields an efficient procedure.

Chebyshev polynomial approximation

As mentioned previously, the wavelet operator T s g depends on the values of g(sλ ) only for λ within the spectrum of L . This implies that the polynomial approximations we seek need only be valid on an interval containing the spectrum of L . Lemma 5. Let λ max be an upper bound on the spectrum of L , so that λ max ≥ λ N-1 . Let p(λ ) be a polynomial such that, for fixed scale s, max λ ∈[0,λ max ] |g(sλ )p(λ )| = B, and define the approximate wavelet coefficients by Wf (s, n) = (p(L ) f ) n . Then the error in the approximate wavelet coefficients satisfies

|W f (s, n) -Wf (s, n)| ≤ B || f || (58)
Proof. Equation ( 28) shows

|W f (s, n) -Wf (s, n)| = ∑ g(sλ ) f ( )χ (n) -∑ p(λ ) f ( )χ (n) ≤ ∑ |g(sλ ) -p(λ )|| f ( )χ (n)| ≤ B ∑ | f ( )χ (n)| (59)
The Cauchy-Schwartz inequality applied on the last sum above shows

∑ | f ( )χ (n)| ≤ ∑ ( f ( )) 2 ∑ (χ (n)) 2 = || f || , (60)
using the Parseval equality and the orthonormality of the χ 's. Together (59) and (60) imply Equation ( 58).

An upper bound λ max such as used in the above lemma can be found by calculating the largest eigenvalue of L . It is important to note that good algorithms exist for finding the largest eigenvalue of a symmetric matrix that access the matrix only via matrix-vector multiplication. Examples include Arnoldi iteration and the Jacobi-Davidson method [START_REF] Watkins | The Matrix Eigenvalue Problem -GR and Krylov subspace methods[END_REF][START_REF] Sleijpen | A Jacobi-Davidson iteration method for linear eigenvalue problems[END_REF]. These algorithms are able to compute accurate estimates of λ N-1 with much lower computational cost than needed to find the entire spectrum of L . Additionally, as only a rough estimate of λ N-1 is needed to form an upper bound (the rough estimate may simply be increased to ensure a valid upper bound), the Arnoldi iteration need not be run until close convergence is achieved for computing λ N-1 .

In this work we will use polynomial approximations computed from the truncated Chebyshev polynomial expansion of the scaled wavelet kernels g(sλ ), over the interval [0, λ max ]. Lemma 5 suggests that polynomial approximations p(λ ) should be chosen to minimize the supremum norm B = max λ ∈[0,λ max ] |p(λ )g(sλ )|. Truncated Chebyshev polynomial expansions give polynomials that in many cases are a close approximation of the so-called minimax polynomials that exactly minimize the supremum norm [START_REF] Geddes | Near-minimax polynomial approximation in an elliptical region[END_REF]. The minimax polynomial p(x) of degree M for approximating g(sx) has the property that the error |p(x)g(sx)| reaches the same maximum value at M + 2 points across the domain. This is illustrative of the fact that the minimax polynomials distribute the approximation error evenly over the entire interval. In contrast, for the wavelet kernels used in this work we have observed that the truncated Chebyshev polynomials have a maximum error only slightly greater than that of the minimax polynomials, and typically have significantly lower approximation error in regions where g(sλ ) is smooth. We have also observed that for graphs that are small enough where the SGWT may be computed exactly using Equation ( 28), the polynomial approximation using truncated Chebyshev expansions produces a slightly lower approximation error than that based on the minimax polynomials. We illustrate a scaled wavelet kernel and both the truncated Chebyshev and minimax polynomial approximations (computed using the Remez exchange algorithm [START_REF] Fraser | A survey of methods of computing minimax and near-minimax polynomial approximations for functions of a single independent variable[END_REF]) in Figure 2.

Another reason we adopt the truncated Chebyshev approximation is that we can use the recurrence properties of the Chebyshev polynomials to conveniently evaluate Chebyshev polynomials of L applied to an input signal f via repeated matrixvector multiplication. Chebyshev polynomial approximation is a classical topic, a good overview is [START_REF] Phillips | Interpolation and Approximation by Polynomials[END_REF]. For completeness we briefly describe a few key properties of the Chebyshev polynomials here.

The (unscaled) Chebyshev polynomials are a set of polynomials convenient for representing functions on the interval [-1, 1]. On this interval they satisfy T k (y) = cos(k arccos(y)), showing that they oscillate between [-1, 1], and that the k th order polynomial T k (y) has zeros at the points y = cos( π k (n + 1 2 )) for n = 0, 1, 2, ...k -1. The Chebyshev polynomials satisfy the two-term recurrence relation

T k (y) = 2yT k-1 (y) -T k-2 (y), (61)
which together with the starting expressions T 0 (y) = 1 and T 1 (y) = y can be used to generate the entire sequence. The graphs of the first 8 Chebyshev polynomials are shown in Figure 3. Many of the approximation properties of the Chebyshev polynomials follow from them being an orthogonal set, with respect to the inner product defined with the measure dy √ 1-y 2 . Specifically, one has

1 -1 T l (y)T m (y) 1 -y 2 dy = δ l,m π/2 if m, l > 0 π if m = l = 0 (62)
Any function h which is square-integrable on [-1, 1] with respect to the measure dy/ 1y 2 has a convergent Chebyshev series, given by

h(y) = 1 2 c 0 + ∞ ∑ k=1 c k T k (y) (63)
where the Chebyshev coefficients c k are given by

c k = 2 π 1 -1 T k (y)h(y) 1 -y 2 dy = 2 π π 0 cos(kθ )h(cos(θ ))dθ . (64)
We now detail the polynomial approximation scheme used for the fast computation of the SGWT. We first rescale the argument of the Chebyshev polynomials by the change of variables x = λ max (y+1)/2, which transforms the interval [-1, 1] onto [0, λ max ]. We write T k (x) for these shifted Chebyshev polynomials, which satisfy

T k (x) = T k ( 2x -λ max λ max ) (65)
We let M denote the degree of the polynomial approximations for each of the scaled wavelet kernels, and assume we have fixed some set of scales s j . Larger values of M will yield more accurate approximations, at the expense of higher computational cost. For each scale s j , the truncated Chebyshev polynomial p j (x) which approximates g(s j x) has the expression

p j (x) = 1 2 c j,0 + M ∑ k=1 c j,k T k (x), (66)
where the Chebyshev coefficients are given by

c j,k = 2 π π 0 cos(kθ )g(s j λ max 2 (cos(θ ) + 1))dθ . (67)
Exactly the same scheme is used to construct the M degree polynomial p 0 (x) for approximating the scaling function kernel h. These Chebyshev coefficients may be computed independent of any particular knowledge of the graph signal f , beyond of knowing an appropriate spectral bound λ max . Once they are obtained, the wavelet and scaling function coefficients for the fast SGWT are :

Wf (s j , n) = 1 2 c j,0 f + ∑ k=1 c j,k T k (L ) f n S f (n) = 1 2 c 0,0 f + M ∑ k=1 c 0,k T k (L ) f n (68)
The fast SGWT relies on computation of the terms T k (L ) f using the recurrence relation satisfied by the shifted Chebyshev polynomials. Equation ( 61) and the inverse change of variables y =

2 λ max -1 shows T k (x) = 4 λ max (x-1)T k-1 (x)-T k-2 (x), which immediately implies T k (L ) f = 4 λ max (L -I) T k-1 (L ) f -T k-2 (L ) f (69)
Critically, this recurrence relation can be calculated using only matrix-vector multiplication, storing only the vector result T k (L ) f for each k ≤ M and never explicitly computing the matrix T k (L ). The above recurrence shows that the vector T k (L ) f can be computed from the vectors T k-1 (L ) f and T k-2 (L ) f , with computational cost dominated by matrix-vector multiplication by L -I.

We estimate the computational complexity of computing the approximate SGWT this way, for a graph with a total number of nonzero edges |E|. If L is stored using a sparse matrix representation, then the cost of the matrix-vector produce L v for any v ∈ R N is O(|E|) (as opposed to O(N 2 ) for full matrix-vector multiplication). For sparse graphs, where |E| is small compared to N 2 , this difference may be very significant. Computing all of the terms T k (L ) f for k ≤ M requires O(M|E|) operations. We compute the wavelet and scaling function coefficients according to Equation (68), this may be done by adding the term c j,k T k (L ) f for j = 0, ..., J to a vector containing the j th set of coefficients, as the terms T k (L ) f are computed. Computing the scalar-vector product c j,k T k (L ) f and adding it to the running total vector requires O(N) operations, this cost is incurred M(J + 1) times for computing each of the J + 1 wavelet or scaling function bands, up to polynomial order M. All together, this implies a total computational cost of O(M|E| + MN(J + 1)) to compute the SGWT via polynomial approximation.

As the recurrence relation (69) involves only three terms, computing all of the T k (L ) f may be done with memory of size 3N if the lower degree terms are overwritten once they are no longer needed for the recurrence. A straightforward implementation of the fast SGWT would also need enough memory to hold each of the J + 1 wavelet or scaling function bands, implying a total memory size requirement of N(J + 1) + 3N = N(J + 4).

Polynomial approximation for the SGWT Adjoint operator

The SGWT wavelet and scaling function operators define linear mappings from R N to the corresponding wavelet or scaling function coefficients. Once a set of J scales s j is fixed, one may form the overall SGWT operator W : R N → R N(J+1) by concatenating all of the scaling function and wavelet coefficients into a single N(J + 1) length vector, as W f = (T h f ) T , (T s 1 g f ) T , • • • , (T s J g f ) T T . Letting W : R N → R N(J+1) be the SGWT operator computed by polynomial approximation, we have

W f = (p 0 (L ) f ) T , (p 1 (L ) f ) T , • • • , (p J (L ) f ) T T . ( 70
)
where the approximating polynomials p j are defined in Equation (66).

Both the adjoint operator W T : R N(J+1) → R N and the operator W T W : R N → R N can be computed using Chebyshev polynomial approximation. These operators are used in the method we will detail in Section 6.3 for computing the inverse transformation. In addition, many wavelet based signal processing algorithms (in particular iterative algorithms for solving minimization problems arising from regularization using sparsity-promoting penalty functions of wavelet coefficients, see for example [START_REF] Daubechies | An iterative thresholding algorithm for linear inverse problems with a sparsity constraint[END_REF]) are described using the adjoint operator, so knowing that the adjoint may be efficiently computed is important for adapting such algorithms to graph signal processing using the SGWT.

The adjoint W T is the linear operator such that W T u, v = u,W v for every u ∈ R N(J+1) and v ∈ R N . Below, we write u ∈ R N(J+1) as the partitioned vector u = (u T 0 , u T 1 , ..., u T J ). We may then write

u,W v N(J+1) = u, T h v + J ∑ j=1 u j , T s j g v N = T T h u 0 , v + J ∑ j=1 (T s j g ) T u j , v N = T h u 0 + J ∑ j=1 T s j g u j , f N (71)
as the operators T h and T s j g are all symmetric. Equation 71 shows that for any u ∈ R N(J+1) viewed as the concatenation of J + 1 coefficient subbands, application of the adjoint W T u is given by W T u = T h u 0 + ∑ J j=1 T s j g u j . Similarly, the adjoint of the approximate SGWT operator W from Equation (66) is given as

W T u = J ∑ j=0 p j (L )u j . (72)
This can be computed efficiently, using only matrix-vector multiplication, using exactly the same approach as described in Section 6.1.

From Equations ( 70) and (72) we see that

W T W f = J ∑ j=0 p j (L )p j (L ) f = J ∑ j=0 (p j (L )) 2 f (73)
This expression may be computed efficiently by determining the Chebyshev coefficients d k for 0 ≤ k ≤ 2M for the 2M degree sum-of-squares polynomial P(x) = ∑ j=0 (p j (x)) 2 . Once these are calculated, we compute

W T W f = 2M ∑ k=0 d k T k (L ) f . ( 74
)
We detail the determination of the coefficients d k below. The expression T k (x) = cos(k arccos(x)), together with the trigonometric identity cos(α) cos(β ) = 1 2 (cos(α + β ) + cos(αβ )) implies the the product relation

T k (x)T l (x) = 1 2 T k+l (x) + T |k-l| (x) . (75)
We will use this to express the d k s in terms of the c j,k s. For convenience below we denote c j,k = c j,k for k ≥ 1 and c j,0 = 1 2 c j,0 , so that we may write p j (x) = ∑ M k=0 c j,k T k (x), without the factor of 1 2 as in (66). Similarly we define the coefficients d j,k so that (p j (x)) 2 = ∑ 2M k=0 d j,k T k (x). Expanding (p j (x)) 2 and using (66) yields, after a lengthy but straightforward calculation, that

d j,k =          1 2 c j,0 2 + ∑ M i=0 c j,i 2 if k = 0 1 2 ∑ k i=0 c j,i c j,k-i + ∑ M-k i=0 c j,i c j,k+i + ∑ M i=k c j,i c j,i-k if 0 < k ≤ M 1 2 ∑ M i=k-M c j,i c j,k-i if M < k ≤ 2M (

SGWT inverse transform

Many wavelet based signal processing algorithms function by computing wavelet coefficients of the original signal, manipulating the signal in the coefficient domain, and then inverting the wavelet transform. To be useful for signal processing, it is important to be able to invert the SGWT, i.e. to reconstruct a signal from a set of spectral graph wavelet coefficients. The scale discretized SGWT operator W computes N(J + 1) wavelet and scaling function coefficients for each N dimensional signal f . As the number of coefficients is greater than the dimension of the original signal, the SGWT is an overcomplete transform, and thus cannot have a unique linear inverse. Provided that the entire set of wavelet and scaling functions (equivalently, the columns of W T ) span R N , there will be infinitely many different left inverse matrices M satisfying MW = I. We note that this condition holds if the frame bound A from Theorem 1 is positive.

We use the pseudoinverse, formally given by M = (W T W ) -1 W T , as the inverse of the SGWT. For a given set of SGWT coefficients c ∈ R N(J+1) , the inverse SGWT will be the signal f ∈ R N obtained by solving the linear system (W T W ) f = W T c. For most applications this system is too large to be solved directly (for instance by the LU factorization and back substitution). Instead, we employ the well-known conjugate gradients algorithm [START_REF] Shewchuk | An introduction to the conjugate gradient method without the agonizing pain[END_REF]. This is an iterative algorithm, the computational cost at each step is dominated by computing the product of W T W with a single vector. We use the Chebyshev polynomial approximation scheme for computing W T W in each step of the conjugate gradients algorithm.

We note that the frame bounds from Theorem 1 may be used to estimate the convergence speed of the conjugate gradients iteration. The remaining error in the conjugate gradients algorithm after i iterations (as measured by the norm of the residual) is bounded by the norm of the first residual times

2 √ κ -1 √ κ + 1 i , ( 77
)
where κ is the ratio of the largest and smallest eigenvalues of W T W . The frame bounds A and B are bounds on the spectrum of W T W (see [START_REF] Daubechies | Ten Lectures on Wavelets[END_REF]), and thus κ < A/B. This explicitly shows that the convergence properties for the conjugate gradients reconstruction depend on the frame bounds, with faster convergence for smaller A/B.

SGWT kernel design details

The described theory of the SGWT places few constraints on the wavelet kernel g, scaling function kernel h, or the selection of scales. We give details of the design choices described in the original paper [START_REF] Hammond | Wavelets on graphs via spectral graph theory[END_REF], which are also those used in the example illustrative images included later in this chapter. The wavelet kernel g is chosen to give exact localization in the limit of small scales. By Theorem 2, this will occur if g(x) behaves like a power of x near the origin. We ensure this by choosing g to be an exact monic polynomial for x in a neighborhood of the origin. For large x, g should decay to zero. This is enforced by setting g to decay as a negative power of x, for x larger than some fixed value. The final design connects these two regions by a cubic spline ensuring continuity of g and its derivative. Specifically, we set

g(x; α, β , x 1 , x 2 ) =      x -α 1 x α for x < x 1 s(x) for x 1 ≤ x ≤ x 2 x β 2 x for x > x 2 (78)
where α and β are integers, and x 1 and x 2 specify the transition region between the monic polynomial and decaying regions. The examples included in this chapter used α and β both set to 2, x 1 = 1 and x 2 = 2. In this case the cubic polynomial s(x) = -5 + 11x -6x 2 + x 3 .

The discrete scale values s j are chosen by first specifying the maximum scale s 1 and the minimum scale s J , then setting the intermediate scales decreasing and logarithmically equally spaced as s j = s 1 ( s J s 1 ) j-1 J-1 for 1 ≤ j ≤ J. The minimum and maximum scales are adapted to the spectrum of L as follows. Given an upper bound λ max on the spectrum of L , and a value K that is considered a design parameter of the transform, we set λ min = λ max /K. The scales s 1 and s J are chosen so that the smallest scale kernel g(s J x) is a monic polynomial over the interval [0, λ max ], and so that the largest scale kernel g(s 1 x) decays as x -β over the interval [λ min , ∞). This is ensured by setting s 1 = x 2 /λ min and s J = x 1 /λ max .

The scaling function kernel h(x) is set as h(x) = γ exp(-( x 0.6λ min ) 4 ). Here γ is determined by the condition that that h(0) has the same value as the maximum value of g. An illustration of these choices for the scaling function and scaled wavelet kernels, for λ max = 20, K = 20, J = 4, α = 2, β = 2, x 1 = 1 and x 2 = 2 is given in Figure 1.

We note that many other design choices for the wavelet and scaling function kernels are possible. In particular, Leonardi and Van De Ville have developed a design leading to a SGWT that is a tight frame, i.e. where the bounds A and B from [START_REF] Kim | Wavelet based multi-scale shape features on arbitrary surfaces for cortical thickness discrimination[END_REF] are equal [START_REF] Leonardi | Tight wavelet frames on multislice graphs[END_REF].

Illustrative Examples

In order to illustrate the SGWT, we provide several examples of weighted graphs arising from different application areas, and present images of some wavelets and scaling functions for these graphs. As a first example, we consider a point cloud sampled randomly from the "swiss roll", a 2 dimensional manifold embedded that is widely used as a benchmark example for dimensionality reduction and manifold learning algorithms [START_REF] Tenenbaum | A global geometric framework for nonlinear dimensionality reduction[END_REF]. Our example is based on sampling 500 points from the embedding in R 3 given parametrically by x(u, v) = (v cos(v)/4π, u, v sin(v)/4π) for

-1 ≤ u ≤ 1, π ≤ v ≤ 4π.
The adjacency for weighted graph A is computed from the points x i by assigning a greater edge weight to edges connecting points that are close in R 3 . Specifically, we set A i, j = exp(-x jx j 2 /2σ 2 ), with σ = 0.1. We show the point cloud, a scaling function and four wavelets all centered on the same vertex, in Figure 4. The swiss roll point cloud is a toy example of data constrained to a lower dimensional manifold that are embedded in a higher dimensional space, a situation which commonly arises in many examples relevant to machine learning. We note in particular that the support of the wavelets and the scaling function automatically adapts to the structure of the underlying 2d manifold, and does not jump across to the upper portion of the roll, even though the geometric separation in the 3d embedding space is smaller in some cases than the diameter of the support of the wavelet or scaling function.

We next consider an example transportation network, arising from a graph describing the road network in Minnesota. Here edges correspond to major roads, each vertex is the intersection of two roads. The vertices thus do not always exactly correspond to population centers (incorporated towns or cities), although many do. For this particular dataset the edges are unweighted, and do not for instance reflect the capacity of the road. Figure 5 shows a set of wavelets and scaling function centered at a single vertex, for the SGWT computed with parameter K = 100 and J = 4 scales. We note that for display purposes each vertex has associated 2d coordinates, however these were used only for rendering the figure and were not used for the actual computation of the SGWT.

With an eye towards applications, we note that the SGWT be useful for analysis of data measured at vertices of a transportation network where the phenomena generating the measured data was influenced in some way by the transportation network. Possible examples could include analysis of data describing disease rates during an epidemic (if it were expected that transportation network could influence patterns of disease transmission), or analysis of inventory data for goods that are moved along the transportation network.

A third example shows the SGWT appropriate for data measured on irregularly shaped domains. We take as an example irregular domain the geometry of the surface of Lake Geneva. The SGWT for this case could be used for analysis or processing of some physical measurement (such as water temperature, or concentration of some solute) that was taken at regularly spaced points on the surface of the body of water. Using classical wavelet analysis for such data would require some special handling of the geometrically complex boundary between land and water. In con- trast, the SGWT implicitly handles the boundary, and needs no special adaptation beyond encoding the domain with the adjacency matrix.

In this example the geometry of the lake surface is described as a binary function on a regular rectangular grid. The graph is constructed by retaining only vertices corresponding to grid points within the lake interior, and with edges connecting the (at most 4) neighboring vertices. We use a binary graph (all edge weights set to 1). At interior points of the domain, the graph Laplacian thus corresponds to the standard 5-point stencil for approximating -∇ 2 (see Equation ( 14)), while at points on the boundary the Laplacian is modified by the deletion of grid points outside of the lake domain. We constructed our lake geometry mask using shoreline data from the GSHHS database [START_REF] Wessel | A global, self-consistent, hierarchical, high-resolution shoreline database[END_REF]. The lake mask was calculated on a 256 x 153 pixel grid (corresponding to a physical scale of 232 meteres per pixel). We show a single wavelet for the largest scale value in Figure 6, for the design with parameter K = 100 and J = 5 scales.

To illustrate the implicit adaption of the wavelet to the geometry of the domain, we compare it with a SGWT wavelet computed with the same wavelet kernel and scale parameter for a large regular grid, that is simply truncated. These true and truncated wavelets will coincide for central vertices that are far from the boundary, however they may be very different for wavelets centered on vertices near the boundary. This can be seen clearly in Figure 6, which illustrates how the SGWT adapts to an irregular boundary.

Conclusion

We have described a wavelet transform for data defined on the vertices of arbitrary weighted graphs. Our approach uses spectral graph theory, based on the eigenvectors and eigenvalues of the graph Laplacian matrix, to define a notion of scaling that is analogous to classical wavelet operators. Our graph wavelet operators are defined by taking kernel functions of the graph Laplacian, where the kernel functions are formed by rescaling a single bandpass function. We have shown that defining the graph wavelets by applying these wavelet operators to a delta impulse centered on a single vertex gives wavelets that are localized in the limit of small scales. A fast algorithm based on Chebyshev polynomial approximation was described, demonstrating that the SGWT can be applied to large graphs without the need for explicit computation of the eigenvectors and eigenvalues of the graph Laplacian matrix. We studied the frame bounds of the SGWT, and described a computation of the inverse transform. Finally, we showed a series of example images of the SGWT computed for several different graphs, highlighting potential applications of the transform.

Software Implementation

A MATLAB toolbox with complete functionality for computing the SGWT may be found online at wiki.epfl.ch/sgwt. Much of this functionality has also been incorporated into the larger Graph Signal Processing toolbox [START_REF] Perraudin | GSPBOX: A toolbox for signal processing on graphs[END_REF] (GSPBox), a MATLAB implementation is available at epfl-lts2.github.io/gspbox-html, and a Python implementation may be found at https://pygsp.readthedocs.io/en/stable.

Fig. 1

 1 Fig. 1 Scaling function h(λ ) (dotted blue curve), wavelet generating kernels g(t j λ ) (green,magenta,yellow,orange curves), and sum of squares G (black curve), for J = 4 scales, λ max = 20. Scale values are t 1 = 2.0, t 2 = 0.5848, t 3 = 0.171, t 4 = 0.05. Details for the functional form of h and g are in Section 7.

Fig. 2

 2 Fig. 2 (a) Wavelet kernel g(λ ) (black), truncated Chebyshev expansion (blue) and minimax polynomial approximation (red, dashed) for degree m = 20, shown for [0, λ max ] = [0, 2]. Approximation errors shown in (b), the truncated Chebyshev expansion has maximum error 0.1023, the minimax polynomial has maximum error 0.0434.

Fig. 3

 3 Fig. 3 Graphs of the Chebyshev polynomials T k (y) for 0 ≤ k ≤ 7, plotted on the interval [-1,1].

  76) Defining d n,0 = 2d j,0 and d j,k = d j,k for k ≥ 1, we have d k = ∑ J j=0 d j,k . These are used with Equation 74 to compute W T W f .

Fig. 4

 4 Fig. 4 Spectral graph wavelets on Swiss Roll data cloud, for transform with J = 8 wavelet scales (showing only wavelets for the 4 coarsest scales) . (a) vertex at which wavelets are centered (b) scaling function (c)-(f) wavelets, scales 1-4. Figure adapted from [32].

Fig. 5

 5 Fig. 5 Spectral graph wavelets on Minnesota road graph, with K = 100, J = 4 scales. (a) vertex at which wavelets are centered (b) scaling function (c)-(f) wavelets, scales 1-4. Reproduced with permission from [32].

Fig. 6

 6 Fig.6Spectral graph wavelets on lake Geneva domain, (spatial map (a), contour plot (c)); compared with truncated wavelets from graph corresponding to complete mesh (spatial map (b), contour plot (d)). Note that the graph wavelets adapt to the geometry of the domain. Reproduced with permission from[START_REF] Hammond | Wavelets on graphs via spectral graph theory[END_REF].

  K+1)! B. We next need to bound ||ψ s,n || away from 0. The triangle inequality applied to ψs,n = ψ s,n + ( ψs,nψ s,n ) directly gives || ψs,n || ≤ ||ψ s,n || + || ψs,nψ s,n ||, so || ψs,n || -||ψ s,n -ψs,n || ≤ ||ψ s,n || (55)

	Lemma 4 shows that ||ψ s,n -ψs,n || ≤	√ Ns K+1 λ K+1 N-1

(K+1)! B, while we may simply calculate || ψs,n ||