Using Wavelet Transforms to Approximate Matrices - MathOverflow most recent 30 from http://mathoverflow.net2013-05-21T10:35:45Zhttp://mathoverflow.net/feeds/question/15577http://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://mathoverflow.net/questions/15577/using-wavelet-transforms-to-approximate-matricesUsing Wavelet Transforms to Approximate Matricesbaileydan2010-02-17T12:59:43Z2010-02-17T22:35:10Z
<p>It's a long time since I worked on this kind of problem, so please bear with me.</p>
<p>I have an approximate inverse matrix that I'm using as a preconditioner to solve the conjugate gradient method. Unfortunately the matrix is much more dense than the storage I have available and reducing it to a much sparser matrix results in a far less optimal solution.</p>
<p>Here is a subset of one of the matrices being produced to get an idea of the arrangement and layout of the data:</p>
<pre><code>10.880 1.917 1.979 0.669 0.311 0.000 0.000 0.000
1.917 10.871 0.651 1.924 0.000 0.000 0.000 0.000
1.979 0.651 11.596 2.159 2.038 0.330 0.000 0.000
0.669 1.924 2.159 11.253 0.350 0.000 0.000 0.000
0.311 0.000 2.038 0.350 11.221 1.972 0.320 0.311
0.000 0.000 0.330 0.000 1.972 11.171 1.862 1.810
0.000 0.000 0.000 0.000 0.320 1.862 10.550 0.310
0.000 0.000 0.000 0.000 0.311 1.810 0.310 10.550
0.322 0.059 2.062 0.694 0.673 0.057 0.000 0.000
0.112 0.331 0.736 1.990 0.123 0.011 0.000 0.000
0.000 0.000 0.696 0.063 1.934 0.321 0.000 0.000
0.000 0.000 0.239 0.342 0.343 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
</code></pre>
<p>Now it looks to me that this kind of matrix could be fairly well approximated in fourier space, and by using a wavelet transform I could store a lot more of the data without resorting to a sparse matrix format where I cull the data that doesn't exceed a certain value.</p>
<p>Does that sound reasonable looking at the example dataset? How would I go about doing this, what existing techniques are involved and what resources should I start looking at to help me become familiar with this area?</p>
<p>I'm interested in using the least amount of storage space to store the best approximation to these matrices.</p>
http://mathoverflow.net/questions/15577/using-wavelet-transforms-to-approximate-matrices/15622#15622Answer by Chris Elion for Using Wavelet Transforms to Approximate MatricesChris Elion2010-02-17T20:08:25Z2010-02-17T20:08:25Z<p>(Sorry, I can't post this as a comment as my reputation isn't high enough)</p>
<p>@Steve, he's using conjugate gradient, so the matrix had better be symmetric :)</p>
<p>Can you explain more about the structure of the matrix? It's hard to get a feel for the sparsity from that small slice. From the looks of it there, you might try a tridiagonal or pentadiagonal solver as the preconditioner, but there might be some more interesting bits far off the diagonal that we can't see.</p>
<p>Someone else pointed out (in a deleted comment?) that your matrix looks almost-Toeplitz; you might be able to get away with treating it as a <a href="http://en.wikipedia.org/wiki/Circulant%5Fmatrix" rel="nofollow">circulant matrix</a>, which you can then solve with an FFT. There's some literature on circulant preconditioners out there, but it's been a while since I read anything on them.</p>
<p>Also, it sounds like you're explicitly forming your approximate inverse matrix; you should really only care about solving M*y = z (where M is the preconditioner), right?</p>
<p>Hope some of that helps...</p>
http://mathoverflow.net/questions/15577/using-wavelet-transforms-to-approximate-matrices/15639#15639Answer by Andrew Mullhaupt for Using Wavelet Transforms to Approximate MatricesAndrew Mullhaupt2010-02-17T22:35:10Z2010-02-17T22:35:10Z<p>Wavelets could work, but they're not the only option. Have you had a go with bandwidth reduction reordering? (Or, more subtle - reordering to reduce "fill in" of the Cholesky factor?)</p>
<p>Have you looked at the inverse?
Have you looked for low grade (aka semi-separable) structure?</p>
<p>Both of these could lead a bit far afield, but there are very powerful techniques of model reduction which can be applied; the way the inverse elements decay away from the main diagonal can be diagnostic for some of this.</p>
<p>You might consider some sort of multipole acceleration if your matrix is big enough.</p>