You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Concerning points 1 and 2: if there is interest for spectral clustering, a challenge could be to properly disentangle linear algebra from graphs to keep BGL focused.
Boost has an old linear algebra library and a new one, but then there's the industry standard, Eigen. I don't think we want to touch the old one anymore but I'm not sure if the new one covers everything. Ultimately, I think we'll want to give users a choice through compile-time options, however I guess that means we'll want to write a thin wrapper layer just to keep those compile-time shenanigans out of the main logic.
Hello!
I think this is related, so I am not opening a separate issue, but I have experience with personalized node scoring methods (have previously created a python library for these) that basically skew iterative score propagation schemas towards a personalization vector of example nodes. This helps detect overlapping structural communities (of low conductance) given some example members in a similar setting described above.
If only moderate C++ experience is not an issue, I would be happy to contribute a couple of such methods. The current page_rank implementation could be used as reference, though I would need some collaboration on making technical choices that align well with BGL's codebase.
Activity
jeremy-murphy commentedon Feb 15, 2026
I'm happy to take the union-find issue, so I'll split it off as a separate task.
jeremy-murphy commentedon Feb 15, 2026
Boost has an old linear algebra library and a new one, but then there's the industry standard, Eigen. I don't think we want to touch the old one anymore but I'm not sure if the new one covers everything. Ultimately, I think we'll want to give users a choice through compile-time options, however I guess that means we'll want to write a thin wrapper layer just to keep those compile-time shenanigans out of the main logic.
maniospas commentedon Apr 10, 2026
Hello!
I think this is related, so I am not opening a separate issue, but I have experience with personalized node scoring methods (have previously created a python library for these) that basically skew iterative score propagation schemas towards a personalization vector of example nodes. This helps detect overlapping structural communities (of low conductance) given some example members in a similar setting described above.
If only moderate C++ experience is not an issue, I would be happy to contribute a couple of such methods. The current
page_rankimplementation could be used as reference, though I would need some collaboration on making technical choices that align well with BGL's codebase.[-][FEATURE] Spectral clustering methods[/-][+]Spectral clustering methods[/+]