From: Bruno Luong on
>
> That pinv black-boxes the solution of under-determined problems makes it my least favourite matlab function.

Agree, I don't think many people who deals with ill posed linear problem would even bother with PINV. Using SVD-based for Least Squares is a rigid and expensive method.

Bruno
From: Michalis on
> Please explain exactly what you mean by that.
The A is a ~1000x42 matrix. Actually I use Laguerre expansion technique on volterra series to estimate the kernels. But at this point i create the input (~1000 steps of wgn) create the A matrix which a the convolution of bj's and input (found using autorecursive relation) then create 42 coefficients and make an output using:
true_out = A*b.
Trying to do the inverse using the output as given I find the same A but doing the equation:
b = pinv(A)*out gives me some values unreliable
(I'm trying to see the reliability of my program on given facts before use it on data)
Suppose changing tolerance won't positively affect my results (I've already tried randomly some TOL)
From: Bruno Luong on
"Michalis " <micpan84(a)gmail.com> wrote in message <i1hta6$36o$1(a)fred.mathworks.com>...
> > Please explain exactly what you mean by that.
> The A is a ~1000x42 matrix. Actually I use Laguerre expansion technique on volterra series to estimate the kernels. But at this point i create the input (~1000 steps of wgn) create the A matrix which a the convolution of bj's and input (found using autorecursive relation) then create 42 coefficients and make an output using:
> true_out = A*b.
> Trying to do the inverse using the output as given I find the same A but doing the equation:
> b = pinv(A)*out gives me some values unreliable
> (I'm trying to see the reliability of my program on given facts before use it on data)
> Suppose changing tolerance won't positively affect my results (I've already tried randomly some TOL)

If the problem is ill-posed you can't hope to invert it with any degree of certainty (that's why it's called ill-posed). The truncating, or various regularization methods could limit the effect of the noise in the data, but won't provide miracle. That's having said, there is a tone of literature on inverse problem and ill-posed problem and how to treat them correctly, or at least not too badly.

Bruno
From: Michalis on
Thank you all for your answers guys. I'll try to experiment and search a little more to find and replace pinv with something else...
From: Bruno Luong on
"Michalis " <micpan84(a)gmail.com> wrote in message <i1mb3h$ebd$1(a)fred.mathworks.com>...
> Thank you all for your answers guys. I'll try to experiment and search a little more to find and replace pinv with something else...

A place to start is this:
http://www.mathworks.com/matlabcentral/fileexchange/25453-pseudo-inverse

The pseudo-inverse class can be configured for regularization and using iterative solver when matrix-vector is invoked.

Bruno