Re: [eigen] Best Solver for Large but Sparse Linear System

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


Hello all,

thank you Benoit but I was hoping to get an answer specific to the eigen library. In my project a end-user friendly solution is necessary. I can not program anything on my own that is much too time consuming. If there is a solver that can be applied to many different matrices with the sparsity that I described above and can be either parallelized, multithreaded, or GPU "accelerated" I would prefer to apply this solver. Is there anything in like this in the eigen library? Can your version of LSQR be used for this purpose?

Best Joerg

From: Benoit Bardet <benoit.bardet@xxxxxxxxx>
Sent: Tuesday, September 3, 2019 11:12 AM
To: eigen@xxxxxxxxxxxxxxxxxxx <eigen@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [eigen] Best Solver for Large but Sparse Linear System
 

        External Email - Use Caution        

Hi Joerg,

It depends on your matrix condition factor (not sure of the name in english).
A way I like for bad condition number is IncompleteLUT preconditionner with GMRES. Try different fill factor for ILUT.

For better matrix, UMFPACK is very efficient. I'm not sure it is in eigen. Maybe with Diagonal preconditionner.
You can use CG as well with Diag precond.

This page gives example to make a first benchmarking (without precond).. https://eigen.tuxfamily.org/dox/group__MatrixfreeSolverExample.html
But do the benchmark on a real matrix, not a random one. And benchmark in time and not in iterations.


I used GMRES for 8e6 by 8e6 matrix with about 10 non Zero as well per line (Finite Element with bad meshes). Be careful with memory.


Regards.





Le mar. 3 sept. 2019 à 16:52, Pfannmoeller, Joerg Peter <JPFANNMOELLER@xxxxxxxxxxxxxxx> a écrit :
Hello Eigen-Experts,

I have a linear system with a matrix size of about 2E+06 x 2E+06. The maximum number of non-zero matrix elements in each row is 10. Which solver would you recommend for this system?

Best Joerg

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.



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