-
-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strongly Connected Components (SCC) in D-Graph #17
Comments
Yes, the SCC algorithm of the Dulmage-Mendelsohn class is general purpose. Actually, finding strongly connected components is doing two depth-first traversals, one of the adjacency graph G(A) and the second of the graph G(A^T). If you are interested, I can copy the relevant pages from "Direct Methods for Sparse Linear Systems" by Tim Davis (section 7.3 Block triangular form on pages 118+). EDIT: see TestStronglyConnectedComponents.cs |
I've moved the SCC code from |
Actually I'm going to use it for very large matrix (say 1M nodes with average 1-3 connected edge per node). Thank you anyways for whole this great library... |
Will it be part of BFE.NET? Please let me know how it works. There might be room for optimization. |
No part of BFE, this is for another project. |
Worked very well on a 1M+ nodes and avg 2-3 degree per node |
That's great! I was thinking about making I don't think this would make a big difference in your case (1M nodes with degree 1-3), but for larger or less sparse matrices it might... |
that would be a good decision |
I think it is a good idea. |
That's true, and of course Tim Davis deserves most of the credit for creating SuiteSparse ;-) I just published v4.2.0 with public |
He is definitely great at algorithms, but a little lower great with teaching algorithms. |
Inside Dulmage–Mendelsohn decomposition file there is a section for finding Strongly Connected Components (SCC). Can this code be used to find SCC of a given sparse matrix? how to interpret result?
i need to go through all edges and identify only edges that do connect to different components. eg. in below image:
need to identify that bc, bf, ef, cg and hg edges are connection between different components.
Is it possible that your code be used for such purpose?
---- edit
All i need is to know how to assign same number to nodes in a single SCC?
Thanks
The text was updated successfully, but these errors were encountered: