Re: [eigen] Conjugate gradient

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi, sorry for the very late reply.

On Tue, Jul 26, 2011 at 11:02 AM, Basil Fierz <basil.fierz@xxxxxxxxxxx> wrote:
> Hi Gael,
>
> I shortly looked at your implementation of the CG algorithm. It's a very nice work, I don't think that the API is cumbersome.
>
> * What do you think about adding the "optimization" suggested in "Rodriguez-Navarro, Susin - Non structured meshes for Cloth GPU simulation using FEM"?
> Basically, what they do is to regroup the computations such that all dot-products happen in one place at the costs of doing 2 more of them. This would speed up parallel implementations (OpenMP) of the vector part.

I've not looked at this paper yet, but usually the bottleneck is the
sparse matrix - vector product, and the dot products are quite
marginal, but why not...

> * For some problems it is possible to evaluate the matrix vector product directly, without the need to resort to a generic matrix, as long as the used function has the same properties as the matrix.
> What do you think about adding the possibility to replace the matrix vector product with a custom expression?

You can already do that, that's the power of c++: simply wrap your
representation into a lightweight structure and overload operator*
between this type and Eigen::DenseBase<Derived>....

gael

> Best,
> Basil
>
> -----Original Message-----
> From: Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] On Behalf Of Gael Guennebaud
> Sent: Dienstag, 26. Juli 2011 10:37
> To: eigen
> Subject: [eigen] Conjugate gradient
>
> Hi,
>
> finally I've committed a conjugate gradient solver in Eigen. Currently it is in unsupported/Eigen/src/IterativesSolvers/
>
> Its design may sound a bit cumbersome at a first glance but I designed it this way to be compatible with the other decomposition based solvers.
>
> Have a look at its documentation for typical usage examples., and discover the proposed API.
>
> Any suggestions regarding any aspects (API or implementation) are very welcome.
>
> I also have at hand a BiCGSTAB, a block diagonal preconditioner and an incomplete LLT that needs some polishing....
>
>
> cheers,
> Gael
>
>
>
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/