[SciPy-User] Large banded matrix least squares solution

David Baddeley david_baddeley@yahoo.com...
Wed Mar 16 16:46:08 CDT 2011


definitely sounds like a deconvolution problem, you could start by trying 
something like Weiner filtering 
(http://en.wikipedia.org/wiki/Wiener_deconvolution) and go from there. 

If you need to go further, the inverse problems notes at 
http://home.comcast.net/~szemengtan/ are excellent (you probably want to look at 
Chapter 3, Regularization Methods for Linear Inverse Problems, in particular 3.7 
which talks about solving large systems).  I've got a python implementation of 
the Matlab code for Tikhonov regularised deconvolution given there. 

cheers,
David



________________________________
From: J. David Lee <johnl@cs.wisc.edu>
To: SciPy Users List <scipy-user@scipy.org>
Sent: Thu, 17 March, 2011 10:06:11 AM
Subject: Re: [SciPy-User] Large banded matrix least squares solution

On 03/16/2011 03:02 PM, Charles R Harris wrote: 

>
>
>On Wed, Mar 16, 2011 at 1:53 PM, J. David         Lee <johnl@cs.wisc.edu> 
wrote:
>
>Hello.
>>
>>I'm trying to find a least squares solution to a system Ax=b,           where A 
>>is
>>a lower diagonal, banded matrix. The entries of A on a given           
diagonal
>>are all identical, with about 300 unique values, and A can be           quite
>>large, on the order of 1e6 rows and columns.
>>
>>

So this is sort of a convolution? Do you need exact, or will           somewhat 
approximate do? I think you can probably do something           useful with an 
fft.

What I have is data from a detector that is passed through a shaping     
amplifier that turns voltage steps into pulses. I've measured the     
characteristic pulse shape, but now I'm interested to see if I can     move 
backwards from the shaped data to the detector data. The idea     is that we 
assume that there is a pulse at every time point and find     the amplitude at 
each point in time to match our raw data. 


Here is an image of the detector's data (green), and the shaped data     (blue):

http://mywebspace.wisc.edu/jdlee1/web/detector_and_shaped_data.png

David


scipy.sparse.linalg.lsqr works on smaller examples, up to a           few 
thousand
>>rows and columns, but not much larger. It is also very time           consuming 
>>to
>>construct A, though I'm sure there must be a fast way to do           that.
>>
>>Given the amount of symmetry in the problem, I suspect there           is a 
>fast
>>way to calculate the result, or perhaps another way to solve           the 
>>problem
>>entirely.
>>
>>

Chuck 


> _______________________________________________ SciPy-User mailing list 
>SciPy-User@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-user 
>


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20110316/0c61913d/attachment.html 


More information about the SciPy-User mailing list