[SciPy-User] Large banded matrix least squares solution
J. David Lee
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.
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/%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.
> *From:* J. David Lee <email@example.com>
> *To:* SciPy Users List <firstname.lastname@example.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 <email@example.com
>> <mailto:firstname.lastname@example.org>> wrote:
>> 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
>> scipy.sparse.linalg.lsqr works on smaller examples, up to a few
>> 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
>> way to calculate the result, or perhaps another way to solve the
>> SciPy-User mailing list
> SciPy-User mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User