I use Successive over-relaxation (SOR) for large matrices up to 1E+05 x 1E+05 matrix elements. Does anybody know a good library for that? Currently the determination of the relaxation parameter omega seems to be the central problem. As you may know a good approximation would already be enough.
Thank you very much for your advice. It is for the simulation of blood flow in a vascular system with a subsequent simulation of diffusion. Do you have a reference? A scientific publication would ideal.
absolutely that last. When I was doing a lot of matrix stuff, reusing old results saved a TON of time. Matrix math tends to be kind of circular ... you hop in at some point and find out something about the matrix, then that leads to something else... if you already know something you can reuse that and shortcut the next thing you want to know. I don't remember if SOR gets the eigens or uses them or maybe depends on what you are doing... a little rusty .. but it seems like there was a way to make it ultra fast if you already knew something and without it iterates for a bit. I'd have to look and I can't right now ... If I am remembering right it would be obvious when you look at the algorithm.
You need to know the spectral radius (maximum eigenvalue of the matrix) to determine the exact optimal relaxation parameter omega. My original question was basically if somebody had a c++ library that computes this optimal omega, the spectral radius, or a good approximation of any of the two.
Thank you for the link. I am aware of all the information in them. It is just so that it is very challenging to write a library that computes the optimal relaxation parameter for large matrices. That is why I am posting this thread. I am looking for a library that does the job.