I understand that if you have a circular N-dimensional convolution matrix, it can be diagonalized with the Fourier transform of the convolution operator. This makes it easy to calculate the density of a spatial process (with a Gaussian kernel covariance) using FFT: $$ \begin{align} y^T K^{-1} y &= y^T(Q^TVQ)^{-1}y\\ &=y^TQV^{-1}Q^Ty\\ &=(Qy^T)^TV^{-1}Q^Ty\\ &=F[y]^TV^{-1}F[y]\\ \end{align} $$ Where $F[y]$ is the DFT of $y$, $Q$ are the eigenvectors of the DFT and and $V$ are the eigenvalues, which are just the Fourier transform of the covariance function (why? because the covariance function and spectral density are Fourier duals, which Rasmussen (Gaussian Processes in Machine Learning) says is the Wiener-Khintchine theorem). Cool.

So here's the problem. Instead of a uniform convolution matrix K, I want to use a non-uniform convolution, where a different Gaussian kernel is defined at each point. My understanding is that this is equivalent to (some type of?) wavelet transform, where the local convolution spread is just the scale of the wavelet at that point.

And here's the question: does the wavelet formulation lead to a similarly easy way of calculating $y^TK^{-1}y$ as above? Or do you have another way around inverting K?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.