Spectral graph CNNs, as the name suggests, use a spectral convolution, which we defined as follows:
Here, . We can rewrite this in matrix form as follows:
This is not shift-invariant since G does not have a circulant structure.
Now, in the spectral domain, we define a convolutional layer as follows:
Here, , , and is an n×n diagonal matrix of spectral filter coefficients (which are basis-dependent, meaning that they don't generalize over different graphs and are limited to a single domain), and ξ is the nonlinearity that's applied to the vertex-wise function values.
What this means is that if we learn a convolutional filter with the basis Φ on one domain, it will not be transferable or applicable to another task that has the basis Ψ. This isn't to say we can't create bases that can be used for different domains...