# [SciPy-User] Large banded matrix least squares solution

J. David Lee johnl@cs.wisc....
Wed Mar 16 17:11:37 CDT 2011

```Thank you very much for your help. Wiener decomposition sounds like
exactly what I want. I'm not very knowledgeable on working in the
frequency domain, so it'll take me a while to get where I'm going, but
I'll try to post back with my results.

Thanks again,

David

On 03/16/2011 04:46 PM, David Baddeley wrote:
> 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/
> <http://home.comcast.net/%7Eszemengtan/> 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
>> <mailto: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
>
>
> _______________________________________________
> 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/fcec85b1/attachment-0001.html
```