Strength-of-connection features prominently in PyAMG. You have 4
choices when setting the "strength" parameter during the solver
generation phase.
The two classic strength measures are
(1) strength="classical", which refers to the Ruge-Stuben style measure.
The AMG chapter covers this in "A Multigrid Tutorial" by
Briggs, Henson and McCormick
And this paper, pages 99-100, covers this,
J. W. RUGE AND K. STÜBEN, Algebraic multigrid, in Multigrid Methods,
Vol. 3 of Frontiers Appl. Math., SIAM, Philadelphia, PA, 1987,
pp. 73–130.
(2) strength="symmetric", which refers to the SA style measure.
This paper covers SA in general and this strength measure.
Vanek, P. and Mandel, J. and Brezina, M.,
"Algebraic Multigrid by Smoothed Aggregation for
Second and Fourth Order Elliptic Problems",
Computing, vol. 56, no. 3, pp. 179--196, 1996.
http://citeseer.ist.psu.edu/vanek96algebraic.html
Then there are two newer measures in PyAMG,
(3) strength = "ode", which is a new measure and I would argue is the
most robust.
There isn't a publication for it yet, but you can look at this
presentation,
http://www.cse.illinois.edu/~jschrod3/docs/Copper2008.pdf
(4) strength = "energy_based" which is also a new measure, but the
current implementation
is really slow. It's currently only good for
toy problems, < 2,000 dofs.
Here's a reference,
Brannick, Brezina, MacLachlan, Manteuffel, McCormick.
"An Energy-Based AMG Coarsening Strategy",
Numerical Linear Algebra with Applications,
vol. 13, pp. 133-148, 2006.
If you think that strength-of-connection is really hurting your
performance, then I would suggest trying the ode measure with k=2 or
k=4. You could also try toggling the drop tolerances for the classic
strength measures.
Hope this helps,
Jacob