Skip to content

Instantly share code, notes, and snippets.

@DBCerigo
Created March 2, 2016 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DBCerigo/8bc9d51c7cbd227a3f0b to your computer and use it in GitHub Desktop.
Save DBCerigo/8bc9d51c7cbd227a3f0b to your computer and use it in GitHub Desktop.
Version 1: Implementation of DeltaCon algorithm for measuring similarity between networks http://arxiv.org/pdf/1304.4657v1.pdf
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('ggplot')\n",
"\n",
"import networkx as nx\n",
"import scipy.sparse as sp\n",
"import numpy as np\n",
"from math import sqrt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# [DeltaCon](http://arxiv.org/pdf/1304.4657v1.pdf)\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def compute_FBP_invs(A):\n",
"\n",
" # max power to calculate inverse to\n",
" max_pw = 7\n",
"\n",
" # make identity\n",
" I = sp.identity(A.shape[0])\n",
" \n",
" # remove self links - can't propogate beliefs to self - need to consider if the self links should be counted in\n",
" # degree still?\n",
" #A = A - sp.dia_matrix((A.diagonal(), [0]), shape=(A.shape[0], A.shape[0]))\n",
"\n",
" # make degree matrix\n",
" ds = [int(x) for x in A.sum(axis=1)]\n",
" D = sp.dia_matrix((ds, [0]),\n",
" shape=(len(ds), len(ds)))\n",
" \n",
" # compute about-half homophility factor that gaurentees convergences of W power series\n",
" c1 = D.sum() + 2\n",
" c2 = np.dot(D,D).sum() - 1\n",
" h_h = sqrt((-c1+sqrt(c1**2 + 4*c2))\n",
" /(8*c2)\n",
" )\n",
" \n",
" # compute system constants ah (from ahD) and ch from (achA)\n",
" ah = 4*(h_h**2) /(1-4*(h_h**2))\n",
" ch = 2*h_h / (1-4*(h_h**2))\n",
" \n",
" # create matrix M to form (I - M)^-1\n",
" M = ch*A - ah*D\n",
" \n",
" # expand to power series to compute inverse\n",
" inv = I\n",
" mat = M\n",
" pwr = 1\n",
" while mat.data[mat.data.argmax()] > 10**(-9) and pwr < max_pw:\n",
" inv = inv + mat\n",
" mat = mat * M\n",
" pwr = pwr + 1\n",
" return inv"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def DeltaCon(A1, A2):\n",
" \n",
" # initialize\n",
" # prior belief for nodes (doesn't really affect results of deltacon)\n",
" p = 0.501\n",
" \n",
" # Solve the linear BP systems (FaBP): inv corresponds to [I + ah*D - ch*A]^-1\n",
" # and multiple by about-half prior beliefs\n",
" inv1 = compute_FBP_invs(A1) * (p-0.5)\n",
" inv2 = compute_FBP_invs(A2) * (p-0.5)\n",
" \n",
" # compute the similarities using Matusita distance\n",
" diffM = (inv1.sqrt() - inv2.sqrt()) ** 2\n",
" # delete diagonal entries - the influence nodes have on themselves\n",
" #diffM = diffM - sp.dia_matrix((diffM.diagonal(), [0]), shape=(diffM.shape[0], diffM.shape[0]))\n",
" return 1 / (1 + sqrt(diffM.sum()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Testing"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"1.0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Abb = nx.adjacency_matrix(nx.barbell_graph(10,0))\n",
"DeltaCon(Abb, Abb)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.982427723163\n",
"0.982427723163\n",
"0.938245540871\n",
"0.0441821822924\n"
]
}
],
"source": [
"AB10 = nx.adjacency_matrix(nx.barbell_graph(5,0))\n",
"mB10 = nx.barbell_graph(5,0)\n",
"mB10.remove_edge(5,6)\n",
"mmB10 = nx.barbell_graph(5,0)\n",
"mmB10.remove_edge(4,5)\n",
"print DeltaCon(AB10, nx.adjacency_matrix(mB10))\n",
"print DeltaCon(nx.adjacency_matrix(mB10), AB10)\n",
"print DeltaCon(AB10, nx.adjacency_matrix(mmB10))\n",
"print DeltaCon(nx.adjacency_matrix(mB10), AB10) - DeltaCon(AB10, nx.adjacency_matrix(mmB10))\n",
"# differnce in paper for DeltaCon_0 is 0.07..."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.983029965283\n",
"0.983029965283\n",
"0.949798088779\n",
"0.0332318765038\n"
]
}
],
"source": [
"# create L10\n",
"L10 = nx.complete_graph(5)\n",
"L10.add_path([0,5,6,7,8,9])\n",
"\n",
"# create mL10\n",
"mL10 = nx.complete_graph(5)\n",
"mL10.add_path([0,5,6,7,8,9])\n",
"mL10.remove_edge(0,1)\n",
"# create mmL10\n",
"mmL10 = nx.complete_graph(5)\n",
"mmL10.add_path([5,6,7,8,9])\n",
"\n",
"print DeltaCon(nx.adjacency_matrix(L10), nx.adjacency_matrix(mL10))\n",
"print DeltaCon(nx.adjacency_matrix(mL10), nx.adjacency_matrix(L10))\n",
"print DeltaCon(nx.adjacency_matrix(L10), nx.adjacency_matrix(mmL10))\n",
"print (DeltaCon(nx.adjacency_matrix(L10), nx.adjacency_matrix(mL10))\n",
" - DeltaCon(nx.adjacency_matrix(L10), nx.adjacency_matrix(mmL10)))\n",
"# differnce in paper for DeltaCon_0 is 0.04..."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Graph sanity checks "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nPiK4AAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10aed63d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n7U3nzp0rcbuPP/6YpFIpLVy48LWfBwQEUGRkpN51VFmVfcrDmCEUFhbi6NGjGDdunMEn4Z04cQJO\nTk5YtGhRibcIfPz4MWQyGX766afinymVStSvX1+vqf1VGX9UYWbnr0l4crmcjh49Si4uLsVD31u0\naKFTm1lZWTR27FhSqVS0Z88ecnV1fe35mJgYGjduHF29epWkUikREYWEhJCvry99/PHHer+nKqey\nk4sxYyoqKkJsbCymTp0KZ2dneHp6YtGiRUhOThY92U2j0eA///kPHBwcIJfL33h+3rx5GDBgQHG7\nx44dQ5cuXQzyPqoaPuNg1cZfk/D+GrVaq1at4jMRX19frSemXbp0iYKDg6l379701VdfUd26dYno\nzyHpfn5+FBwcTJ988gkpFApycnKi9PR0cnR0NOZbq3AcHFpSq1Qk5OYSFAqyqF2batjZkVXNmpVd\nFtMRALpy5Urx/JmioqLiEOnYsWO59w59/vw5TZ48mZKTk2n//v3k6elJREQZGRnUoUMHOn36NHl7\ne9Po0aOpW7du9MGECWZ1/HBwlAEAqR49Ik1KClnt3//6co7+/qQeNYosW7euXkv/mSH8bxLeX2ci\nz549e20SnpWVVamv2717N82ePZv+/e9/0+TJk8nCwoL27dtHn3/+OSUmJlJqfDzVSEuj1snJ5nX8\nVNZnpKqueLFhD4+yFxv28KhWiw1XB6mpqViyZAm8vb0hlUoRGhqKU6dOQaVSlbh9eno6fHx8MGzY\nMDx58gQAMGfWLKRv3YoiMz1+ODhKoFYqUbBnDwRLyzJ3+l8PwdISBRERJrfzWflu3bqFlStXomPH\njrC3t8e4ceNKnISnUCgwc+ZMuLi44Py5c3ixe7dZHz/8UeVvAFDhyZNUZ8gQstBotH+dpSUVHj9O\ndfr1M73TTqaV+/fv06FDh0gul1NSUlLxJLz+/fsXT8KLjo4myfXr5DNnjlkfPxwcf6PMyiKr3r3J\nUof7KWg8PUn9009Uy8nJCJWxqiQ7O5uOHDlCcrmcLl26RL169aKAgAAa2KkT/WPwYLIy8+OHg+Nv\nXp4+TXX79tX99dHRVLdPHwNWxKq6nJyc4pXwPu3YkbouWKBzW6Zy/PBclVeoVSqy2r9frzasDhwg\ntUploIqYKfjnP/9JEyZMoCOHDlGHjAy92jKV44eD4xVCbi5ZxsXp1YZlXBwJeXkGqoiZEiE3l96q\nJscPB8croFCQRX6+Xm1Y5OcTFAoDVcRMSXU6fjg4XmFRuzahXj292kC9emRRu7aBKmKmpDodPxwc\nr6hhZ0caPz+92njWpg1t3buXkpOTia87Vy+GOH40fn5Uw9bWQBUZDwfHK6xq1iR1UJBebWhGjaLb\nd+/S4MGDqXnz5jRv3jxKSEjgEKkGDHH8qEeNMok5LBwcf2Pp5UUaDw+dXqv29CS7zp1p9erVlJmZ\nSfv27SMLCwsaM2YMNW7cmGbOnEnx8fGVtpIZMz59jh+NpydZtm5t4IqMg8dx/A0AKjx1iuoMHix6\n5N+VFSso09WVAgMD32jz2rVrxTMxnz59SiNGjCh3EhUzPfocP6Y0cpTnqpRA9FwVKysURETgamIi\nmjVrhkmTJiE/P7/U9tPS0rB06VL4+PhAKpVi0qRJOHnyJJQmNFeBlU7X48eU5qpwcJSieHasp2eZ\nO13l4YGkdeugLCgAADx//hzjxo3D22+/jatXr5bbT0ZGRvEkqvr162PcuHE4evRoha1kxoxD2+NH\n7elpkrNj+aNKGQCQKjubNMnJZHXgwGv3U3jaujXVDQ0lS09PGvnhh9S2bVtavHhx8WsjIiJoxowZ\ntGDBApo+fbpWp5/379+nw4cPk1wup6tXr1K/fv0oICCABgwYYPSVzJjhlXX8aPz8SB0URJZeXnw/\nDnNWpFRC+fgxFHfvQvn4Md4LCEBsbCwA4NGjR3B2dsaZM2dee83NmzfRrl07DBo0CH/88Yeo/h49\neoTNmzejd+/esLa2xvDhw7Fnzx7k5uYa6i2xCvT346fIxM4w/o6DQ0dLly7F1KlTi/996tQpNGzY\n8I2AUCqVmDNnDho0aICYmBid+srJycGOHTswaNAgWFtbY8CAAfjuu++KbxrDWEXj4NBRWloaZDIZ\nNBpN8c9mz56NIUOGlHj37NOnT0Mmk2H+/Pml3klKG3l5eYiIiMCIESNgbW2NXr16YdOmTcjKytK5\nTcbE4uDQg4eHB+Lj44v/rVQq4evri/Xr15e4fXZ2Nvr374+OHTsiIyND7/7z8/MRGRmJoKAg2Nra\nwt/fH2vWrMHdu3f1bpuxsnBw6GHhwoWYOXPmaz+7ceMGJBIJkpKSSnyNRqPB119/DalUin379hms\nlsLCQhw7dgwhISGwt7dHhw4dsGLFCrNe+JhVHg4OPSQlJcHNze2Njya7d+9Gy5YtUfC/r2hLcuXK\nFbi7u2PChAlljvnQhUqlQnR0NEJDQyGVStG2bVssWbIEqampBu2HVV/8daweAFCLFi1o79699M47\n77z23NixY6lu3bq0ZcuWUl+fn59PH3/8McXHx9P+/fvJ29vb4DVqNBo6d+4cyeVyOnToENnZ2RWv\nH9K6dWvT+xqQVQ2VHFwmb968eZg3b94bP8/Ly0PTpk1x8ODBctvYu3cvpFIpvv76a9HLEoqh0Whw\n/vx5zJw5E25ubmjWrBnmzp2Ly5cvG7VfZn74jENPiYmJFBwcTOnp6W/89U5ISKCBAwdSQkICubm5\nldlORkYGjR49miQSCe3cubN44WJjAUC//vpr8SJECoWieP7Mu+++W+5KZqx646NDT76+vqRSqeja\ntWtvPNeuXTv69NNPacyYMaRWq8tsp0mTJhQXF0etW7emtm3b0s8//2yskomIyMLCgnx9fWnZsmWU\nlpZGP/74I9na2tJHH31EDRo0oKlTp1JsbGy5dbPqic84DGDmzJlkY2NDn3/++RvPCYJA/fr1o06d\nOtEXX3yhVXsxMTEUEhJC77//Pi1evJjeeustA1dcths3bhSfidy5c4eGDh1KAQEB1LNnT6ppAveK\nYBWgUj8omYn4+Hh4eHiU+nxWVhacnJxw9uxZrdt8/PgxBgwYgPbt21fqV6oZGRlYtWoVOnXqhPr1\n62Ps2LE4cuQIXr58WWk1scrHwWEAGo0GMpkMaWlppW4TFRUFFxcXUcPEBUHAmjVrIJFIEBERYYhS\n9XL//n2sW7cOXbt2hY2NDd577z0cOHAAL168qOzSWAXjjyoGMm3aNJLJZPTZZ5+Vus2sWbMoIyOD\nDh06JOpr0KtXr1JQUBB17NiR1q9fT/X0vCGuITx+/Lh4JbMLFy5Qz549KSAggAYPHky2JnDPTKan\nyk4ucxEbGwsfH58yt1EoFPDx8cHGjRtFt5+fn4+JEyfC3d0dV65c0bVMo8jJycHOnTuLJ+H179+f\nJ+GZOQ4OAykqKoJUKi13Dkp6ejokEgmSk5N16mf//v2QSqVYvXr1axPsqoq8vDzs3bsXAQEBsLGx\nQc+ePbFx40aehGdm+KOKAYWFhVGLFi1o1qxZZW63a9cuWrlyJV2+fJnq1q0rup/bt29TcHAw2dnZ\n0c6dO8nR0VHXko3q5cuXdOrUKYqMjKSoqCjy8vKiwMBAGjFiBLm4uFR2eUwflZ1c5uTUqVPo2LFj\nudsJgoDg4GBMnjxZ575UKhU+++wzyGQynD59Wud2KkphYSGOHz+O8ePHw97eHu3bt8fy5ctx8+bN\nyi6N6YC9eeAzAAARSklEQVSDw4CUSiXs7e1x7969crfNy8tDkyZNIJfL9eozJiYGDRs2xKeffmoy\nNztWqVQ4ffo0wsLC4ODggDZt2mDx4sX4/fffK7s0piX+qGJgISEh9M4779D06dPL3fbSpUs0ZMgQ\nSkhIIFdXV537fPLkCU2cOJGysrJo37591KxZM53bqmgajYbi4uKKB5zZ2toWT8Jr06YNT8Krqio7\nuczN0aNH0bVrV623/89//gN/f38UFRXp1a8gCFi3bh0kEgn27NmjV1uV5a9JeLNmzUKjRo3QtGlT\nzJkzB5cuXeJJeFUMn3EYmEKhICcnJ7px4wY5ODiUu70gCNS3b1/y8/OjRYsW6d1/UlISBQUFUbt2\n7WjDhg1kbW2td5uVAQD99ttvJJfLKTIykgoLC1+bhGdpaVnZJVZrPMnNwGrXrk39+/enI0eOaLV9\njRo1aPfu3bR582Y6d+6c3v23adOGEhMTqVatWuTj40OJiYl6t1kZLCwsyMfHh5YuXUppaWkUFRVF\n9evXp6lTp1LDhg1pypQpFBMTw5PwKksln/GYpYMHD6J3796iXvPjjz/C1dUVOTk5Bqvjhx9+gFQq\nxcqVK6vkmA9dpaen48svv4Svry8kEgkmTpyIH3/80WQuDpsD/qhiBAUFBSSTyej2zZtUDyAoFGRR\nuzbVsLMrcyXy8PBwunv3LkVGRhrsouCdO3coODiY6tWrR7t27SInJyeDtFtVZGZm0qFDh0gul1Nq\naioNHDiQAgICqG/fvlSnTh2D96dWqUjIzdV6n5orDg4DA0CqR4/o98hIcr98mepcuvT/V+/y9yf1\nqFFk2bp1iat3KZVK6tixI02ePJk+/PBDg9WkVqvpiy++oO+++4527NhBffv2NVjbVcnDhw/p8OHD\nFBkZSb/++iv17duXAgMDacCAAXrN7/lrn2pSUshq//7XV2QrZ5+arco83TE3xeuFeniUvV6oh0ep\n64WmpaVBIpHg2rVrBq/vzJkzaNiwIWbNmmX2p/XZ2dnYunUr+vbtC2trawwdOhS7d+/Gs2fPRLVj\niH1qjjg4DET0CuWWlqWuUL59+3Z4enoa5Z4XT548wdChQ+Hr64sbN24YvP2q6OnTp9i5cycGDx4M\na2tr9OvXD9u2bSt3WU5D7lNzw8FhAIIgoODHH7U+wF470KKi3hijIAgCgoKCMGXKFKPVu379ekgk\nEuzatcsofVRVz58/x759+xAYGAgbGxv06NEDGzZswMOHD1/bztD71NxwcBiA4uHDck9lSz3F9fSE\nooSZo7m5uWjcuDEOHz5stLqTkpLQqlUrjBkzBnl5eUbrp6oqKCiAXC5HcHAw7Ozs0LlzZ3z99de4\nc+eOUfapOeHgMICC6GidDrC/HgXR0SW2e+HCBTg4OBh1SceCggJ8+OGHaNq0KS5dumS0fqo6hUKB\nEydOYMKECbC3t8fFVauMsk/NBQeHnoqUSignTNDrIFNOnIiiUj4XL1u2DF26dIFarTbq+zh48CCk\nUimWL19uVmM+dFFYUID8ceOMtk/NAY8c1ZOQm0uWcXF6tWEZF0dCXl6Jz82ZM4esrKxo2bJlevVR\nnsDAQEpMTKTjx49Tv379KCsry6j9VWU18vOp9oULerVR1j41C5WdXKZOcecONM7Oev110shkmDVu\nHIiIH1XgMTskxCD7VGHEj5iVjc849GRRuzZBz5sHo149WrZqFeHPj44lPo4fP05ubm709OnTMrcz\n1OO///0vubi4UHh4OCkUigrps6o8lq5YYZB9alG7tl5tVGUcHHqqYWdHGj8/vdrIbduWfjh5kh48\neFDqNoMGDaKhQ4dSaGgoAdCrP2106dKFrl69SpmZmdSpUye6ceOG0fusbDk5ObRjxw4KX7SInrZu\nrVdbGj8/qmHGd3vn4NCTVc2apA4K0quNwhEj6KeYGPLy8qJOnTrRqlWr6Pbt229st3z5crp58yZt\n27ZNr/60ZW9vT3K5nMLCwqhz5860c+fOCgmtipSdnU2bN2+m3r17U5MmTejEiRPU2d+fak+cqFe7\n6lGjzHsOi1YfaFiZ9PnOX+XhUfydv1KpxKlTpzBp0iRIpVJ4e3tj6dKlry30lJqaColEguvXr1fo\ne0xJSYGHhwdGjx5t8mM+7t27h7Vr18Lf3x+2trYICgpCZGQk8vPzi7f5v4sXoWjZUqd9yuM4mFYE\nQfhztKAOowyvfPUVZs2aBYVC8VqbRUVFiI2NxdSpU+Hs7AwPDw8sXLgQSUlJ+Pbbb+Hl5YXCwsIK\nfZ8vX77ERx99hCZNmuDixYsV2re+bt26hRUrVqBDhw6wt7dHSEgIjh079sb/oUajwcqVK9GwYUM8\n3LePR46WgoPDQETPa7CyQkFEBHKyszF8+HC0bdu21CUkNRoN4uPjER4eDldXVzRr1gxvv/02Ro4c\nWSkH6KFDh+Dg4IAvv/yySo/5SE1NxZIlS+Dt7Q2pVIrQ0FBER0dDpVKVuH1WVhb69OmDd999F5mZ\nmTrvU56rwkQpnknp6VnuqeyrMykFQcDmzZshkUjw3XfflRkGgiAgISEBM2bMgJWVFRwcHBAeHo64\nuLgK/SW+e/cu/P390bNnTzx48KDC+i2LIAhISkrCggUL0KpVK8hkMkybNg1nzpwpdwDdyZMn4ezs\njAULFrx2/1dd96m54+AwMEEQoMjKQkF0NJQTJ0LdvDk0MhnUzZtDOXEiCk6fhiIrq8RwuHbtGjw9\nPTFq1Cjk5uaW21dcXBzs7e0xY8YMeHh4QCaTYerUqYiNjdX75sfaUKvV+OKLL+Do6IgTJ04Yvb+S\nCIKAy5cvY+7cuWjWrBnc3Nwwc+ZMnD9/XqsgVSqVmDVrFho2bIgzZ86U2oeu+9RccXAYUZFSCeXj\nx1DcvQvl48daDUF++fIlpkyZgsaNG+PChQvlbr9kyRJ069YNarUaaWlpWLp0KXx8fCCVSjFp0iSc\nOnXK6PfeOHfuHFxdXfHJJ5+8ca3GGDQaDeLi4jBjxgy4urqiefPmmD9/PhITE0X98t64cQO+vr4Y\nOnSo1uvc6rJPzREHRxV1+PBhODg4YOnSpWWeZqvVanTr1g1Llix57ecZGRlYuXIlOnbsCHt7e4wb\nNw5Hjx412gXVp0+fIiAgAG3btkVqaqrB2y8qKkJMTAymTJkCZ2dneHp6YtGiRUhJSRH9l14QBOza\ntQsSiQQbNmyoVmcKhsLBUYXdvXsXXbp0Qffu3XH//v1St7t//z4cHR0RHx9f4vP37t3DN998g65d\nu8LW1hajRo3CwYMHX/v60RAEQcCWLVu0ulajDaVSiZMnT+KDDz6ARCKBr68vli1bhvT0dJ3bzMvL\nw5gxY9CqVSudF/5mHBxVnlqtxr///W84Ojri+PHjpW539OhRNGrUqNxb4z169AibN29G7969YWNj\ng+HDh2PPnj1aXVPRlthrNa96+fIljhw5grFjx6J+/fro1KkTVq1ahYyMDL3runTpEpo2bYoPP/wQ\nBQUFerdXnXFwmIi4uDi4ublh+vTppX7cmDZtmqivaHNycrBjxw4MGjQI1tbWGDBgALZv36715/2y\nvHz5ElOnTkWjRo1w/vz5Mrd98eIFfvjhB4waNQq2trbo1q0b1q1bV+ZZlhgajQbLly+Hg4MDIiMj\nDdJmdcfBYUL+uo7QunXrEhdoLiwshJeXF7Zt2ya67by8PERERGDEiBGwsbFBr169sGnTJjx69Eiv\nmo8cOVLitZrc3Fx8//33GDZsGGxsbNCnTx9s2bIF2dnZevX3dw8fPkSvXr3g5+eHO3fuGLTt6oyD\nw8QIgoCtW7dCIpFg27Ztb5xdXL9+HRKJRK+V3/Pz8xEZGYnRo0fD1tYW/v7+WLt2Le7du6dTe/fu\n3UPXrl3h5+eHVatWYcCAAbC2tsbgwYOxc+dOgy5C9aqoqCg4OTlh0aJFFfL1dHXCwWGirl+/Di8v\nL4wcOfKN6xpbt25FmzZtDPINSmFhIY4dO4aQkBDY29ujQ4cOWLFiBW7duqXV67OysrBx40b06NED\ntWrVQq1atTBr1iyjzndRKBQIDw+Hi4sL/vvf/xqtn+qMg8OEFRYWYtq0aXBzc3vtGxVBEBAYGIiP\nP/74te2LlEoos7OhuHMHyuxs0WMQVCoVoqOjERYWBgcHB3h7e2PJkiVvfP169+5drFmzBv7+/rCz\ns0NwcDDkcjkKCgq0ulajT83p6enw9vbG8OHDjXYmwzg4zMKRI0fg6OiIxYsXF19HePr0KVxdXXHi\nxAkoHj78c9TjhAlQu7tD4+wMtbv7n6Meo6N1GvWoVqtx5swZTJs2DTKZDM2aNUPPnj3h6ekJe3t7\njB8/HsePHy9xQNjTp08xcuTIUq/VCIIgumZBELBjxw5IJBJs2rSJx2YYGQeHmbh//z66deuGrl27\nFl+LuBQfj8TVq1FkpFXIfv/9dyxevBht27ZF/fr10bp1azg6OqJp06aYO3cuLl++XOovsCAI+Pbb\nbyGRSPDtt98Wb6fLymm5ubkYPXo0PDw8kJKSot9/JNMKB4cZUavVWLJkCRwcHHA6Ksrgq5AJgoCr\nV68WTyJr0KABpk+fjrNnzxaf6QiCgMTERMyfPx/NmzeHq6srZsyYUeokvN9//x2tW7fGyJEj8fSP\nP0TX/PS779Dd3x8fffSRUVa+YyXjRafN0IULF6jWxYvk/emnZKHRaP06WFpS4fHjVKdfv+LFkwFQ\nQkICyeVyksvlJAgCBQQEUEBAALVv355q1Cj9JnIA6Pr168WvffLkCQ0fPpwCAgKoS5cuZGVlRURE\nCoWCPvvsM3q/YUPynjNHdM2PIiLI6b33qs+Cz1UAB4cZUmZlkWXv3mR1/bro12o8PakoOpoSMzJI\nLpfToUOHqE6dOsVh4e3trfMv6I0bN4pD5M6dOzR06FAKDAykHj16EHJyqEavXvTW77/rVLP6p5+o\nlpOTTnUx8Tg4zNDL06epbt++Or/+l6VLafqBA8Vh0apVK4P/Nc/MzKRDhw6RXC6n1NRUOrt4MbWe\nNk3n9l5GR1PdPn0MWCErCweHmVGrVCRMnkw1d+zQuY3C8ePprS1bKuxmuw/v36d68+aRTUSEzm2o\nJk6kGps2mfcNgqsQvsu5mTHEynI1z5+v0FXIJDVr0j8uX9arDbNfOa2K4eAwM1AoyCI/X682LPLz\n6bPZs8nCwqJCHv+aM8cgNUOh0KsNpj0ODjNTUSvLGfLBK6eZHg4OM2OIleUqehUyU6y5uuPgMDOG\nWFmuolchM8WaqzsODjNk6eVFGg8PnV6r8fQkSz3XTdWFKdZcnXFwmKGaTk6kXLmSYGkp6nWwtCTl\nihVU09HRSJWVzhRrrs44OMyQhYUF1erZkwp37dL6FxFWVlS4ezfV6tmzUoZum2LN1RkHh5myrFmT\nao0cSYXHj5PG07PMbTWenlR47BjVCgwky0q8TmCKNVdXPHLUzAEgVXY2aZKTyerAAbKMi/tzzEO9\neqTx8yN1UBBZenlRTUfHKvNX2xRrrm44OKoRtUpFQl7en4PEatemGra2Vf6bCFOsuTrg4GCMicbX\nOBhjonFwMMZE4+BgjInGwcEYE42DgzEmGgcHY0w0Dg7GmGgcHIwx0Tg4GGOicXAwxkTj4GCMicbB\nwRgTjYODMSYaBwdjTDQODsaYaBwcjDHRODgYY6JxcDDGROPgYIyJxsHBGBONg4MxJhoHB2NMNA4O\nxphoHByMMdE4OBhjonFwMMZE4+BgjInGwcEYE42DgzEmGgcHY0w0Dg7GmGgcHIwx0Tg4GGOicXAw\nxkTj4GCMicbBwRgTjYODMSYaBwdjTDQODsaYaBwcjDHRODgYY6JxcDDGROPgYIyJxsHBGBONg4Mx\nJhoHB2NMNA4OxphoHByMMdE4OBhjonFwMMZE4+BgjInGwcEYE42DgzEmGgcHY0y0/we07dhSnO80\nCgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10aed6a10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(3,3))\n",
"nx.draw_shell(mB10)\n",
"plt.figure(figsize=(3,3))\n",
"nx.draw_shell(mmB10)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n9v8NPXO0Ss0FKQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d97e590>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ4AAAD9CAYAAABNwJmmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYVPX+B/DPOFzALsrisCqaFW6AKXoFE3BLcyGugjfB\nNSvItB5/eq00H617r8sjqDdvbnldUsEgwT1QSvIpNMUdNJdcMErUIEFBZj2f3x/lXBe2M3OG4cy8\nX88z/zBnvueD38Pbc858v+erYGYmAAARmlm7AACQHwQHAIiG4AAA0RAcACAaggMARENwAIBoCA4A\nEA3BAQCiITgAQDQEBwCIhuAAANEQHAAgGoIDAERDcACAaAgOABANwQEAoiE4AEA0BAcAiIbgAADR\nEBwAIBqCAwBEQ3AAgGgIDgAQDcEBAKIhOABANAQHAIiG4AAA0RAcACAaggMARENwAIBoCA4AEA3B\nAQCiITgAQDQEBwCIhuAAANEQHAAgGoIDAERDcACAaAgOABANwQEAoiE4AEA0B2sXAI1Hr9WSUF5O\nrFaTwtmZmrm5kYOjo7XLqpMca7YHCmZmaxcBlsPMpL15kwyFheSQlkbKvDxSVFYSu7iQISKC9KNH\nk7JrV3L09iaFQmHtcolInjXbGwSHDTNotaQ5cICc3n2XlOfO1b5dYCBpkpPJaeBAUlr5f3M51myP\nEBw2yqDVkmbbNmo+cSIpDIZ6t2elkqo3byanUaOs9ocox5rtFYLDBjEzVWdnU/Po6Ab9ARo/p1RS\n9Z491HzIkEa/BJBjzfYMwWGDNCUl5DBoUJ2n+rUxBAWR/quvyMnHxwKV1U6ONdszfB1rgwyFhSb9\nARIRKc+eJUNBgcQV1U+ONdszBIeN0Wu15JCWZlYbDunppNdqJaqofnKs2d4hOGyMUF5Oyrw8s9pQ\n5uWRUFEhUUX1k2PN9g7BYWNYrSZFZaVZbSgqK+mDmTNJoVA0ymvOe+9JUjOr1Wa1AQ2H4LAxCmdn\nYhcXs9pgFxdauGQJMXOjvBYkJUlSs8LZ2aw2oOEQHDammZsbGcLDzWrjXs+edLaoiARBkKiqmjEz\nFRYW0tq0NCrv1s2stgzh4dTM1VWiyqA+CA4b4+DoSPq4OLPauDVgAI1/9VXy9/end955hw4ePEgG\nEWMr6sLMdPz4cZo9ezZ17NiRoqKi6GpREelfecWsdvWjR2MOSyNCcNggZXAw6bp0Memz+qAgenr4\ncDp37hwdOHCAfHx8aPr06eTn50eJiYmUk5NDOp1OVJuCINDhw4dpxowZ1L59e4qPjydmptTUVCoq\nKqJly5aRW58+ZAgMNLlmZdeuJn0WTMRgUyorKzkxMZFPfvwxC0olM1GDX4JSyceWLuWtW7c+0e6V\nK1c4KSmJQ0ND2cPDgydOnMi7d+/m6urqGuvQ6XScm5vLU6dOZT8/Pw4MDOR58+bxmTNnWBCEJ7YX\nBIGrsrJMqvnsqlV88+ZNyf8toXYIDhty8uRJ7tixI0+cOJHv/vYbV6WkNPgPUXBw4KrUVD57+jR3\n6tSJx48fz3fv3q1xPz/99BMvX76cIyIi2NXVlePi4jgjI4Pv3LnD+/bt44SEBPb09OTu3bvz/Pnz\n+fz58w2qX6/RiK65MiWFly5ezH5+frx//34p/zmhDggOGyAIAn/88cesUqk4JSXF+HO9RsNVWVms\nDwqq8w9QHxT0+3YaDTP/ftbyxhtv8HPPPcfHjh2rc9/Xrl3jyZMns6+vLysUCvbw8OAxY8bw6dOn\nTfpdGlqzpksXPr9mDevUamZmzs3N5datW/O7777Lmj9+D7AcBIfM3b59m4cPH869evXiy5cvP/G+\nIAisLinhqv37WfPaa6zv0IENfn6s79CBNa+9xlU5OawuKanx8iE9PZ09PT15yZIlbDAYjD+vrKzk\nbdu2cVxcHLu6unJkZCQvX76cCwoKeMOGDTxs2DBu0aIFR0VF8caNG7msrEzU79SQmu9dv84hISG8\nfv164+d+/fVXfvnll7lnz578448/itoniIPgkLGvv/6a/fz8+P3332etVlvv9jqNhjW3b7P6p59Y\nc/s26xrwP/O1a9e4d+/e3L9/f16xYgWPHDmSW7RowYMGDeI1a9bUem+hvLycU1JSeOTIkdyyZct6\ntzel5rNnz7JKpXrkUkgQBP7kk09YpVLxli1bRO0LGg7BIUNarZZnzZrFfn5+nJOTY7H9lJaWGs8g\nHB0d2cnJiWfMmMGlpaWi2nlwhjJ69Gh2dXXlvn378n/+8x/++eefza5xzZo1/Pzzzz9xk/Z0A+7V\ngOkQHDJz5coV7tWrFw8bNoxv3bolefs3b97k1atX84svvsgtWrTgmJgYTk1N5fLycs7NzeU2bdrw\nzJkzTb6PUF1dzbt27eIJEyawu7s7h4WFcXJyMl+9etWk9gRB4JiYGJ42bdoT71VWVnJCQkKD7tWA\n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\n/w8scmUl/y70tgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d881710>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10dabc690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(3,3))\n",
"nx.draw_shell(L10)\n",
"plt.figure(figsize=(3,3))\n",
"nx.draw_shell(mL10)\n",
"plt.figure(figsize=(3,3))\n",
"nx.draw_shell(mmL10)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment