Bill Allombert on Fri, 15 May 2009 00:44:01 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Another problem with matrix inversion


On Thu, May 14, 2009 at 11:30:46PM +0200, Lorenz Minder wrote:
> Hi,
> 
> I'll reply to the other stuff later.
> 
> BA: 
> > Ah sorry, I looked at FpM_gauss(). Flm_gauss cannot possibly take a t_COL
> > as
> > second argument, only a t_VECSMALL. There might be a fix in your code for
> > some
> > bug still but I could not find it.
> 
> Sorry, I was vague there.  In Flm_gauss_sp() the number of columns, bco,
> is computed before b is converted to a matrix, which means it's going
> to be something wrong if b is a vector, and consequently screw up
> everything that involves bco later on.
> 
> So the "bco=lg(b)-1;" should be moved after the "if (iscol) b = mkmat(b);"
> line.

Thanks! I removed the support for t_VECSMALL (and thus iscol) which
avoid this issue. If someone need it, it is trivial to add a function
Flm_Flc_gauss() that use Flm_gauss_sp internally.

I would do the same with FpM_gauss but it is a bit more work due to
init_gauss.

Cheers,
Bill.