Subgraph Drawing

S

subhabangalore

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.
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.]][ 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.
 
O

Oscar Benjamin

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.]][ 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
 
S

Steven D'Aprano

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)

[ 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.
 
S

subhabangalore

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



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)




[ 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



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.

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top