- **Python**
(*http://www.velocityreviews.com/forums/f43-python.html*)

- - **Subgraph Drawing**
(*http://www.velocityreviews.com/forums/t956483-subgraph-drawing.html*)

Subgraph DrawingDear Group,
I have two questions, if I take a subseries of the matrix as in eigenvalue here, provided I have one graph of the full form in G, how may I show it, as if I do the nx.draw(G) it takes only the original graph. >>> import numpy >>> import networkx as nx >>> import matplotlib.pyplot as plt >>> G=nx.Graph() >>> G.add_edges_from([(1,2),(1,3),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8)]) >>> L =nx.laplacian(G) >>> print L [[ 7. -1. -1. -1. -1. -1. -1. -1.] [-1. 1. 0. 0. 0. 0. 0. 0.] [-1. 0. 1. 0. 0. 0. 0. 0.] [-1. 0. 0. 1. 0. 0. 0. 0.] [-1. 0. 0. 0. 1. 0. 0. 0.] [-1. 0. 0. 0. 0. 1. 0. 0.] [-1. 0. 0. 0. 0. 0. 1. 0.] [-1. 0. 0. 0. 0. 0. 0. 1.]] >>> print numpy.linalg.eigvals(L) [ 8.00000000e+00 2.22044605e-16 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00] for more than 1000 nodes it is coming too slow on Windows 7 machine with 3GB RAM. If any one of the learned members can help. Apology for any indentation error etc. Thanking all in Advance, Regards, Subhabrata Banerjee. |

Re: Subgraph DrawingOn 13 January 2013 20:05, <subhabangalore@gmail.com> wrote:
> Dear Group, > > I have two questions, if I take a subseries of the matrix as in eigenvalue here, > provided I have one graph of the full form in G, how may I show it, as if I do the nx.draw(G) it takes only the original graph. I'm sorry, but I really don't understand what you mean. When you say "subseries" do you mean "subgraph"? Or do you mean a subset of the eigenvalues? It would be good if you could give a simple example of what you mean using code and showing the expected/desired output. > >>>> import numpy >>>> import networkx as nx >>>> import matplotlib.pyplot as plt >>>> G=nx.Graph() >>>> G.add_edges_from([(1,2),(1,3),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8)]) >>>> L =nx.laplacian(G) >>>> print L > [[ 7. -1. -1. -1. -1. -1. -1. -1.] > [-1. 1. 0. 0. 0. 0. 0. 0.] > [-1. 0. 1. 0. 0. 0. 0. 0.] > [-1. 0. 0. 1. 0. 0. 0. 0.] > [-1. 0. 0. 0. 1. 0. 0. 0.] > [-1. 0. 0. 0. 0. 1. 0. 0.] > [-1. 0. 0. 0. 0. 0. 1. 0.] > [-1. 0. 0. 0. 0. 0. 0. 1.]] >>>> print numpy.linalg.eigvals(L) > [ 8.00000000e+00 2.22044605e-16 1.00000000e+00 1.00000000e+00 > 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00] > > for more than 1000 nodes it is coming too slow on Windows 7 machine with 3GB RAM. What is too slow? Oscar |

Re: Subgraph DrawingOn Sun, 13 Jan 2013 12:05:54 -0800, subhabangalore wrote:
> Dear Group, > > I have two questions, if I take a subseries of the matrix as in > eigenvalue here, provided I have one graph of the full form in G, how > may I show it, as if I do the nx.draw(G) it takes only the original > graph. Is this what you mean? If not, you will have to explain your question better. L = = nx.laplacian(G) E = numpy.linalg.eigvals(L) nx.draw(E) > >>> print numpy.linalg.eigvals(L) > [ 8.00000000e+00 2.22044605e-16 1.00000000e+00 1.00000000e+00 > 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00] > for more than 1000 nodes it is coming too slow on Windows 7 machine with > 3GB RAM. Get a faster machine. Or use fewer nodes. Or be patient and wait. Solving a graph problem with 1000 nodes is a fairly big problem for a desktop PC. It will take time. Calculations don't just happen instantly, the more work you have to do the longer they take. The last alternative is to ask on a specialist numpy list. But I expect they will probably tell you the same thing. -- Steven |

Re: Subgraph DrawingOn Monday, January 14, 2013 6:05:49 AM UTC+5:30, Steven D'Aprano wrote:
> On Sun, 13 Jan 2013 12:05:54 -0800, subhabangalore wrote: > > > > > Dear Group, > > > > > > I have two questions, if I take a subseries of the matrix as in > > > eigenvalue here, provided I have one graph of the full form in G, how > > > may I show it, as if I do the nx.draw(G) it takes only the original > > > graph. > > > > Is this what you mean? If not, you will have to explain your question > > better. > > > > > > L = = nx.laplacian(G) > > E = numpy.linalg.eigvals(L) > > nx.draw(E) > > > > > > > >>> print numpy.linalg.eigvals(L) > > > [ 8.00000000e+00 2.22044605e-16 1.00000000e+00 1.00000000e+00 > > > 1.00000000e+00 1.00000000e+00 1.00000000e+00 1.00000000e+00] > > > for more than 1000 nodes it is coming too slow on Windows 7 machine with > > > 3GB RAM. > > > > Get a faster machine. Or use fewer nodes. Or be patient and wait. > > > > Solving a graph problem with 1000 nodes is a fairly big problem for a > > desktop PC. It will take time. Calculations don't just happen instantly, > > the more work you have to do the longer they take. > > > > The last alternative is to ask on a specialist numpy list. But I expect > > they will probably tell you the same thing. > > > > > > -- > > Steven Dear Steven, Thank you for your kind effort. You got the problem right. But it is giving following error, Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> nx.draw(E) File "C:\Python27\lib\site-packages\networkx\drawing\nx_pylab.py", line 138, in draw draw_networkx(G,pos=pos,ax=ax,**kwds) File "C:\Python27\lib\site-packages\networkx\drawing\nx_pylab.py", line 267, in draw_networkx pos=nx.drawing.spring_layout(G) # default to spring layout File "C:\Python27\lib\site-packages\networkx\drawing\layout.py", line 241, in fruchterman_reingold_layout A=nx.to_numpy_matrix(G,weight=weight) File "C:\Python27\lib\site-packages\networkx\convert.py", line 492, in to_numpy_matrix nodelist = G.nodes() AttributeError: 'numpy.ndarray' object has no attribute 'nodes' >>> there are other solution of converting back the matrix to graph should I try that? Regards, Subhabrata. |

Re: Subgraph DrawingOn Sun, 13 Jan 2013 20:01:21 -0800, subhabangalore wrote:
> there are other solution of converting back the matrix to graph should I > try that? Yes. -- Steven |

All times are GMT. The time now is 09:47 AM. |

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.

SEO by vBSEO ©2010, Crawlability, Inc.