Hi folks,
i have implemented a pivoting strategy for the direct linear equation solvers
in the gpde library. Now a weighted row pivoting strategy is available for
the LU decomposition solver N_solver_lu() and the gauss elimination N_solver_gauss().
The gpde lu and gauss solver still work in parallel.
I have tested the solvers with a Hilbert matrix and v.surf.rst
and it seems to work.
Now 4 gpde solver are available to solve the linear equations
in the rst library, so G_ludcmp() can be replaced. The solvers are:
* N_solver_lu()
* N_solver_gauss()
* N_solver_cg()
* N_solver_bicgstab()
The new lu solver is not as fast as the G_ludcmp() algorithm, which is
related to the parallel approach of the gpde library. But because of
the licence problem with numerical recipes, we need to remove the G_ludcmp() code.
But, i did not had a look at :
./imagery/i.gensigset/invert.c
./imagery/i.smap/bouman/invert.c
and
./raster/r.param.scale/process.c
yet, which also use the G_ludcmp() algorithm.
The new solvers are available in CVS.
Best regards
Soeren